| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1082 人关注过本帖
标题:请各位帮忙找一下错误。。。
只看楼主 加入收藏
Areik
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-9-28
结帖率:87.5%
收藏
 问题点数:0 回复次数:14 
请各位帮忙找一下错误。。。
要求输出下列这个菜单:

       主菜单
=====================
1.输入学生成绩
2.查询学生成绩
3.打印输出成绩
0.退出系统
=====================
请选择(1-5):


如果选择1,则显示“请输入”;选择2,则显示“请输入查找学生学号”;选择3,显示“正在输出”;选择0,显示“谢谢使用”;选择其它则显示“输入错误,请重新输入”。
用循环语句实现用户的重复输入,直到输入选择为“0”是,结束循环。



#include <stdio.h>

void main()
{
        int num,choice;
        do
        {
           printf("Menu%-6\n1.Put in students results\n2.Inquire students results\n3.Print out result\n0.Exit\n");
           printf("Please choose(0-3):");
           scanf("%d",&num);
            switch(choice 3)
                 {
                   case 1: printf("Please enter\n"); break;
                   case 2: printf("Please enter the student number\n"); break;
                   case 3: printf("Printing!\n"); break;
                   default: printf("Input wrong!");
                 }
         }
       while (num=0);
           print("Thank you");
               
        


}


检查时总是提示我缺少“)”在scanf("%d",&num);中。。。我觉得不是这个问题,麻烦大家帮忙看一下错哪儿了。谢谢

搜索更多相关主题的帖子: 菜单 include choice 用户 
2009-10-27 05:25
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
switch(choice 3)
应该是switich(num);

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2009-10-27 07:32
谛舞皓
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-17
收藏
得分:0 
printf("Thank you");//你打错了
2009-10-27 08:36
Areik
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-9-28
收藏
得分:0 
谢谢LS两位指点。但是现在的情况是,我输入1至3,在出现相应选项的同时,“Thank you!”也跟在最后出现了。我改如何修改可以让程序保持在swith那个循环里,直到我个人输入0时才显示"Thank you!"?
2009-10-27 15:08
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
我一下也没想起来,再等等............

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2009-10-27 15:48
AngelMayCry
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-24
收藏
得分:0 
这样行不
#include <stdio.h>
void main()
{
        int num,choice;   
           printf("Menu%-6\n1.Put in students results\n2.Inquire students results\n3.Print out result\n0.Exit\n");
           printf("Please choose(0-3):");
           scanf("%d",&num);
            switch(choice=num)
                 {  
                   case 0:printf("Thank you\n");break;
                   case 1: printf("Please enter\n"); break;
                   case 2: printf("Please enter the student number\n"); break;
                   case 3: printf("Printing!\n"); break;
                   default: printf("Input wrong!");break;
                 }
 
}
2009-10-27 19:32
Areik
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2009-9-28
收藏
得分:0 
以下是引用AngelMayCry在2009-10-27 19:32:47的发言:

这样行不
#include <stdio.h>
void main()
{
        int num,choice;   
           printf("Menu%-6\n1.Put in students results\n2.Inquire students results\n3.Print out result\n0.Exit\n");
            ...
可以,但是强调使用do-while语句。。。所以我认为应该在1-3做一个循环。。。但就是不知道该如何做。。。
2009-10-27 20:17
yilangcb
Rank: 2
等 级:论坛游民
帖 子:30
专家分:23
注 册:2009-10-15
收藏
得分:0 
可以尝试着改成用if else
你这样试试
程序代码:
#include <stdio.h> 
 
void main() 
{ 
        int num,choice; 
         
        { 
           printf("Menu%-6\n1.Put in students results\n2.Inquire students results\n3.Print out result\n0.Exit\n"); 
           printf("Please choose(1-3):"); 
           scanf("%d",&num); 
           if(num>=1) 
           {switch(num) 
                 {  
                   case 1: printf("Please enter\n"); break; 
                   case 2: printf("Please enter the student number\n"); break; 
                   case 3: printf("Printing!\n"); break; 
                   default: printf("Input wrong!"); 
                 } 
              } 
            else 
       printf("Thank you"); 
               } 
2009-10-27 20:41
壞男孩
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2009-10-24
收藏
得分:0 
看这行不
#include <stdio.h>

void main()
{
        int choice,i;


           printf("Menu%-6\n1.Put in students results\n2.Inquire students results\n3.Print out result\n0.Exit\n");
           for(i=0;i<4;i++)
           {
              printf("Please choose(0-3):");
              scanf("%d",&choice);
              if(choice==0)
              {
                 printf("thank you!\n");
              }
              if(choice==1)
              {
                 printf("please ehter \n") ;
              }
              if(choice==2)
              {
                 printf("Please enter the student number\n");
              }
              if(choice==3)
              {
                 printf("Printing!");
              }
           }

}
2009-10-27 20:59
雾里偷花
Rank: 2
来 自:社会
等 级:论坛游民
帖 子:45
专家分:33
注 册:2009-10-27
收藏
得分:0 
回复 楼主 Areik
应该是 while(num=0); 这一段多个“;”
2009-10-27 21:03
快速回复:请各位帮忙找一下错误。。。
数据加载中...
 
   



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

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