简单的电梯程序(switch及break的用法)

作者在 2011-08-22 10:14:14 发布以下内容
/*
时间:2011年8月22日10:04:21
功能:简单的电梯程序,输入楼层号,显示对应楼层的欢迎词
目的:练习switch,以及switch中break的用法
*/

# include <stdio.h>
# include <math.h>

int main(void)
{
    int i;
    char j;
    char ch;
    
    
    do
    {
        printf("输入想去的楼层号\n");            //理解switch最典型的程序就是电梯程序
        scanf("%d",&i);
        
        
        if (i < 0)
            j = '-';
        else
            j = '+';
        
        i = abs(i);
        
        switch (j)                        
        {
        case '-':                        //case后面的表达式可以是数字常量也可以是字符常量
            printf("地下");
            //break;                    //这里不用break跳出switch,则执行完case '-'之后会继续执行case '+'里面的语句
        case '+':
            {
                switch (i)                //switch也可以嵌套使用
                {
                case 1:                                    
                    printf("第1层");                    
                    break;                //这里的break只用来跳出离他最近的一级switch而不是跳出总的switch
                case 3:                    //case的标号不一定顺序排列,但在没有break的时候会影响执行流程                
                    printf("第3层");    //这里输入楼层是3时,输出仍然是第3层,不因为case 3的位置在case 1 后面就显示第2层                
                    break;                                
                case 2:
                    printf("第2层");                    
                    break;                        
                default:                //default代表默认,所有没在标号中出现的数字都通过default找到入口执行
                    printf("没有这一层\n");
                    break;
                case 4:                    //default的位置不一定要在所有标号的最后                
                    printf("第4层");
                    break;
                }            
                
                if(i <= 4 && i != 0)
                    printf("欢迎您\n");
                
                break;    
            }
        }
        
        
        
        printf("是否继续(Y/N)? ");
        scanf(" %c", &ch);
        
        
    } while ('y'==ch || 'Y'==ch);
    
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
输入想去的楼层号
1
第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
2
第2层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
3
第3层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
4
第4层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
5
没有这一层
是否继续(Y/N)? y
输入想去的楼层号
-1
地下第1层欢迎您
是否继续(Y/N)? y
输入想去的楼层号
0
没有这一层
是否继续(Y/N)? n
Press any key to continue
————————————
*/
郝斌视频笔记 | 阅读 3776 次
文章评论,共1条
循个
2011-08-25 23:04
1
顶楼的这个是不是有病的,随便看人家文章就说人家脑残,是不是有病的,别侮辱人家的日志。
游客请输入验证码
最新评论