C语言怎么设置回到主界面 10
# include<iostream>
# include<fstream>
# include<string.h>
# include<stdio.h>
# include<conio.h>//用getch();
# include <iostream >
//主函数
int main()
{
int x;
printf(" 学 生 成 绩 管 理 系 统 ");
printf(" 1.输入学生成绩 ");
printf(" 2.直接排序法排序 ");
printf(" 3.冒泡排序法排序 ");
printf(" 4.线性搜索法搜索 ");
printf(" 5.对分搜索法搜索 ");
printf(" 6.显示全部学生成绩 ");
scanf("%d",&x);
switch(x)
{
case 1:Input();break;
case 2:zhijie();break;
case 3:maopao();break;
case 4:xianxing();break;
case 5:duifen();break;
case 6:Show();break;
}
} 展开
简单的方法,可以使用goto 语句:
# include<iostream>
# include<fstream>
# include<string.h>
# include<stdio.h>
# include<conio.h>//用getch();
# include <iostream >
//主函数
int main()
{
start: int x; //此处打上标记start
printf(" 学 生 成 绩 管 理 系 统 ");
printf(" 1.输入学生成绩 ");
printf(" 2.直接排序法排序 ");
printf(" 3.冒泡排序法排序 ");
printf(" 4.线性搜索法搜索 ");
printf(" 5.对分搜索法搜索 ");
printf(" 6.显示全部学生成绩 ");
scanf("%d",&x);
switch(x)
{
case 1:Input();goto start;break; //break不再起作用了
case 2:zhijie();goto start;break;
case 3:maopao();goto start;break;
case 4:xianxing();goto start;break;
case 5:duifen();goto start;break;
case 6:Show();goto start;break;
default: break; //此处添加结束条件。
}
return 0; //返回值不能少
}
//方法简单。小程序使用没有什么大问题,大程序一般不要使用,跳转容易混乱,可读性差。
//有一个复杂一点的办法,应该是比较适合大程序的,while循环控制。
刚试了下 出现了个问题就是选择完1~6功能后立马就回到了主界面 比如第一个输入成绩功能 如果我输入了1~6以外的字符就会立马停止
逻辑就是如此啊。
你想以什么条件结束,就把default修改成什么,比如:
case 7: break;
default:goto start; //此时程序功能就是,7结束,其他的都会跳到开始了。
你自己想要实现什么功能呢?
其实我这只是告诉一个 goto的方法,以及针对你的程序的一个小例子,你根据你的需要,在什么地方需要回到主界面,你就添加 goto语句,不需要的,就不加。\
但是break一定需要,否则你的程序就会死循环,没有出口。
为了解决非法输入,你最好有default!
2、goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++;
loop: while(x<7);
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。