| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 410 人关注过本帖
标题:为什么第二个switch语句编译器会直接跳过,连同第二个switch语句上面的scan ...
取消只看楼主 加入收藏
mO丶
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-2-10
结帖率:0
收藏
 问题点数:0 回复次数:0 
为什么第二个switch语句编译器会直接跳过,连同第二个switch语句上面的scanf语句也是,只显示scanf上面的,过了第二个switch语句,后面的都能
int ChangeMessage()//修改航班信息//
{
    int h,y/*修改的数组的位置*/,w=1;
    char q[10],v;
    printf("请输入你要修改的航班号:");
    scanf("%s",q);
    for(h=0;h<all;h++)
    {
        w=strcmp(q,Plane[h].PlaneNum);
        if(w==0)
        {
            w=0;
            y=h;
            break;
        }
    }
    switch(w)
    {
    case 0:
        printf("1.航班号\n");
        printf("2.起飞地点\n");
        printf("3.起飞时间\n");
        printf("4.降落地点\n");
        printf("5.降落时间\n");
        printf("6.机票价格\n");
        printf("7.最大载客数\n");
        printf("请选择你要修改的内容:");
        scanf("%c",&v/*choice*/);
         switch(v/*choice*/)
        {
        case '1':
            printf("请重新输入航班号:");
            scanf("%s",Plane[y].PlaneNum);//之后可试试把y改为h//
            break;
        case '2':
            printf("请重新输入起飞地点:");
            scanf("%s",Plane[y].UpPlace);
            break;
        case '3':
            printf("请重新输入起飞时间:");
            scanf("%s",Plane[y].UpTime);
            break;
        case '4':
            printf("请重新输入降落地点:");
            scanf("%s",Plane[y].DownPlace);
            break;
        case '5':
            printf("请重新输入降落时间:");
            scanf("%s",Plane[y].DownTime);
            break;
        case '6':
            printf("请重新输入机票价格:");
            scanf("%d",&Plane[y].Price);
            break;
        case '7':
            printf("请重新输入最大载客数");
            scanf("%d",&Plane[y].MaxAmout);
            break;
        }
        printf("信息修改成功!\n");
        printf("按1继续修改航班信息。\n按2返回目录。\n");
        printf("请选择:");
        scanf("%c",&choice);
        if(choice=='1')
            ChangeMessage();
        if(choice=='2')
            back();
        break;
    case 1:
        printf("没有你要修改的航班,请确认航班的存在再作修改。\n");
        printf("按1继续修改航班信息。\n按2返回目录。\n");
        printf("请选择:");
        scanf("%c",&choice);
        if(choice=='1')
            ChangeMessage();
        if(choice=='2')
            back();
        break;
    }
}


[ 本帖最后由 mO丶 于 2014-2-10 17:57 编辑 ]
搜索更多相关主题的帖子: 编译器 信息 
2014-02-10 17:52
快速回复:为什么第二个switch语句编译器会直接跳过,连同第二个switch语句上面的 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015485 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved