佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 927|回复: 10

C语言!救救小第我

[复制链接]
发表于 27-4-2006 10:18 AM | 显示全部楼层 |阅读模式
有个问题可问问大家吗?
我有个assignment题目!
用switch(option)
如果哪个题目的menu有的选择exit
那在case 那要如何design
才可在选择exit时马上离开program
回复

使用道具 举报


ADVERTISEMENT

发表于 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";
}
回复

使用道具 举报

Follow Us
 楼主| 发表于 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
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 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 | 显示全部楼层
我很奇怪为什么你只用if?
zomok不用else if?
我大概帮你改了...

#include <stdio.h>
#include<stdlib.h>
int main()
{
        int option,Mark;
        char selection;
               
         
        
top: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";                                                
                                        }                                                
                                        else if(Mark>=40&&Mark<55)                                                
                                        {                                                               
                                                printf("\nPass\n";                                                
                                        }                                                
                                        else if(Mark>=55&&Mark<70)
                                        {
                                                printf("\nCredit\n";
                                        }        
                                        else if(Mark>=70&&Mark<85)
                                        {
                                                printf("\nMerit\n";
                                        }
                                        else if(Mark>=85&&Mark<100)
                                        {
                                                printf("\nDistinction\n";
                                        }   
                                                                                else{
                                                                                                printf("\nNumber out of Range\n";
                                                                                }
                                        break;               
                case 2:                printf("\nEnter The Mark:\n";
                                        scanf("%d",&Mark);
                                        printf("\nView The Mark:";
                                        if(Mark>=0&&Mark<40)                                                
                                        {                                                        
                                                printf("\nFail\n";                                                
                                        }                                                
                                        else if(Mark>=40&&Mark<55)                                                
                                        {                                                               
                                                printf("\nPass\n";                                                
                                        }                                                
                                        else if(Mark>=55&&Mark<70)
                                        {
                                                printf("\nCredit\n";
                                        }        
                                        else if(Mark>=70&&Mark<85)
                                        {
                                                printf("\nMerit\n";
                                        }
                                        else if(Mark>=85&&Mark<100)
                                        {
                                                printf("\nDistinction\n";
                                        }        
                                                                                else{
                                                                                                printf("\nNumber out of Range\n";
                                                                                }
                                        break;                                                
                case 3:                printf("\nEnter The Mark:\n";
                                        scanf("%d",&Mark);
                                        printf("\nView The Mark:";
                                        if(Mark>=0&&Mark<40)                                                
                                        {                                                        
                                                printf("\nFail\n";                                                
                                        }                                                
                                        else if(Mark>=40&&Mark<55)                                                
                                        {                                                               
                                                printf("\nPass\n";                                                
                                        }                                                
                                        else if(Mark>=55&&Mark<70)
                                        {
                                                printf("\nCredit\n";
                                        }        
                                        else if(Mark>=70&&Mark<85)
                                        {
                                                printf("\nMerit\n";
                                        }
                                        else if(Mark>=85&&Mark<100)
                                        {
                                                printf("\nDistinction\n";
                                        }                                       
                                        else{
                                                                                                printf("\nNumber out of Range\n";
                                                                                }
                                                                            break;
                case 4:exit(1);      
                }                                
        
        
                 printf("\nBack To Main Menu[y/n]:\n";
         scanf(" %c",&selection);
                                if(selection=='n'||selection=='N'){
                                        printf("\nThanks\n";
                                        exit(1);}
                                else if(selection=='Y'||selection=='y'){
                                        goto top;}
                                else{
                                        printf("\nInvalid Input\n";}
                return 0;
}
回复

使用道具 举报

 楼主| 发表于 29-4-2006 11:15 AM | 显示全部楼层
haha 谢谢各位!
我做完了!
迟点再用function等
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 10-3-2025 05:35 AM , Processed in 0.550250 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表