重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
菜单函数用一个while循环套一个switch.里面再用一个while套switch就行了.
创新互联公司专注于网站建设|成都网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖纯水机等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。
再简单一点的话直接用goto
1、如果只是想返回已经写好的主菜单页面的话
可以直接在当前函数中结束位置调用主菜单所在的函数,如果想输入某值返回的话
就加个输入提示
比如
在其他函数页面加上“输入0返回主菜单”就可以在任意时候
输入0来返回
当然实现的时候也是输入语句加判断语句
加调用主菜单所在函数,调用前先调用清屏函数。
2、例程:
#include
int menu()
{ int rt;
char str[256];
printf("1 ****\n");
printf("2 ****\n");
printf("3 ****\n");
printf("4 ****\n");
printf("5 退出程序\n");
printf("请选择,输入选项前面的数字后回车: "); scanf("%s",str);
if ( str[0]='1' str[0]='5' ) rt=str[0]-'0'; else rt=0;
return rt;
}
void f1() {}
void f2() {}
void f3() {}
void f4() {}
void main()
{ int s,loop=1;
while ( loop )
{ s=menu();
switch ( s )
{ case 1: f1(); break;
case 2: f2(); break;
case 3: f3(); break;
case 4: f4(); break;
case 5: loop=0; break;
default: break;
}
}
}
关于getchar()函数的说明,请参考
因为缓存中存有数据,所以,getchar()读取时,会读到返回数据,而不等待用户输入键盘按键。修改方法为:
一、getchar()之前加清除缓存(在windows系统下有效)
fflush(stdin) ;//清除缓存
getchar(); //等待用户按键(回车)
system("cls");
二、采用系统命令pause,替换掉getchar();
system("pause"); //调用系统命令pause暂停,等待按"任意"键!
system("cls");
三、调用conio.h中的getch()函数
getch与getchar基本功能相同,差别是getch直接从键盘获取键值(不读,也不清除缓存中的数据),不等待用户按回车,只要用户按一个键,getch()就立刻返回。
#include conio.h //引用相关头文件
getch(); //等待用户按键(回车)
system("cls");