查看: 927|回复: 10
|
C语言!救救小第我
[复制链接]
|
|
有个问题可问问大家吗?
我有个assignment题目!
用switch(option)
如果哪个题目的menu有的选择exit
那在case 那要如何design
才可在选择exit时马上离开program |
|
|
|
|
|
|
|
发表于 27-4-2006 10:54 AM
|
显示全部楼层
有N种方法。。。看你OPTION是什么TYPE咯。。
去找找资料吧。一般的SWITCH EXAMPLE 应该都有解答 |
|
|
|
|
|
|
|
发表于 27-4-2006 12:59 PM
|
显示全部楼层
switch(abc)
{
case 1:???;
case 2:???;
case 3: exit();
}
看得明白吗? |
|
|
|
|
|
|
|

楼主 |
发表于 28-4-2006 12:12 AM
|
显示全部楼层
erm ,不能叻!exit() 试了不能!有error,
可能我说不明白吧!
是这样的!
#include <stdio.h>
void main()
{
int option,Mark;
char selection;
do
{
printf("\nMain Menu:");
printf("\n1.TEST 1:");
printf("\n2.ASSIGNMENT:");
printf("\n3.TEST 2:");
printf("\n4.EXIT:");
printf("\nSelect The Option:\n");
scanf("%d",&option);
switch(option)
{
case 1: printf("\nEnter The Mark:\n");
scanf("%d",&Mark);
printf("\nView The Mark:");
if(Mark>=0&&Mark<40)
{
printf("\nFail\n");
}
if(Mark>=40&&Mark<55)
{
printf("\nPass\n");
}
if(Mark>=55&&Mark<70)
{
printf("\nCredit\n");
}
if(Mark>=70&&Mark<85)
{
printf("\nMerit\n");
}
if(Mark>=85&&Mark<100)
{
printf("\nDistinction\n");
}
printf("\nBack To Main Menu[y/n]:\n");
scanf(" %c",&selection);
break;
case 2: printf("\nEnter The Mark:\n");
scanf("%d",&Mark);
printf("\nView The Mark:");
if(Mark>=0&&Mark<40)
{
printf("\nFail\n");
}
if(Mark>=40&&Mark<55)
{
printf("\nPass\n");
}
if(Mark>=55&&Mark<70)
{
printf("\nCredit\n");
}
if(Mark>=70&&Mark<85)
{
printf("\nMerit\n");
}
if(Mark>=85&&Mark<100)
{
printf("\nDistinction\n");
}
printf("\nBack To Main Menu[y/n]:\n");
scanf(" %c",&selection);
break;
case 3: printf("\nEnter The Mark:\n");
scanf("%d",&Mark);
printf("\nView The Mark:");
if(Mark>=0&&Mark<40)
{
printf("\nFail\n");
}
if(Mark>=40&&Mark<55)
{
printf("\nPass\n");
}
if(Mark>=55&&Mark<70)
{
printf("\nCredit\n");
}
if(Mark>=70&&Mark<85)
{
printf("\nMerit\n");
}
if(Mark>=85&&Mark<100)
{
printf("\nDistinction\n");
}
printf("\nBack To Main Menu[y/n]:\n");
scanf(" %c",&selection);
break;
case 4: 这里怎样??
default:printf("\nInvalid Selection Entered:");
}
}
while("selection=='y'||selection=='Y'");
}
如果很乱对不起哦! |
|
|
|
|
|
|
|
发表于 28-4-2006 12:38 AM
|
显示全部楼层
试试 case 4:exit(1);
很少人在switch statement 里做那么多东西的,所以你的程式看起来很乱。。。
有学过function吗?多数switch statement 是拿来call function的。。 |
|
|
|
|
|
|
|
发表于 28-4-2006 03:30 PM
|
显示全部楼层
通常CASE,只是CALL FUNCTION而已。
FUNCTION内部,我们都是独立出来。
如:
SWITCH(A)
{CASE 'A' :
sub1();
break;
这样而已
然后我们在外面加,如:
void sub1()
{
cout << "haha";
} |
|
|
|
|
|
|
|

楼主 |
发表于 28-4-2006 06:04 PM
|
显示全部楼层
原来如此!
我朋友们也说用function
先作做再说
谢谢咯 |
|
|
|
|
|
|
|
发表于 28-4-2006 07:24 PM
|
显示全部楼层
正常退出用
case4: exit(0); break;
记得加#include <stdlib.h>
再不行的话
case 4: return; break;
再不行的话
int option,Mark,quit;
quit = 0;
...
case 4: quit = 1; break;
...
while(!quit); //while("selection=='y'||selection=='Y'") 你的这行没有意义,永远是true |
|
|
|
|
|
|
|

楼主 |
发表于 29-4-2006 12:18 AM
|
显示全部楼层
噢!!
原来还有这招!
不过我现在又有问题了
我不会回到上一个menu
也就是说
1。X
2。Y
3。Z
select 1
然后要回到menu选2
要如何?
只是普通的printf,scanf
不是for / if 的
要如何作? |
|
|
|
|
|
|
|
发表于 29-4-2006 02:36 AM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 29-4-2006 11:15 AM
|
显示全部楼层
haha 谢谢各位!
我做完了!
迟点再用function等 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|