思路比较简单:
1、定义三个菜单函数,用于打印主菜单,学生端菜单,教师端菜单。
2、main函数询问三个菜单的选择,这里可以只询问一次主菜单,用一个if-else if实现,学生端和教师端菜单的询问和执行在一个while循环多次执行。
代码如下:
#include <stdio.h>
void mainMenu(void){
printf("%20s\n\n","主菜单");
printf("1.学生查询系统 2.教师管理系统\n");
printf("\n请输入序号以选择系统:");
}
void stuMenu(void){
printf("****************************主菜单*********************************\n");
printf("* *\n");
printf("* 1、创建学生数据 2、查询学生数据 *\n");
printf("* 3、更新学生数据 4、排序学生数据 *\n");
printf("* 5、统计学生数据 6、保存学生数据 *\n");
printf("* 7、输出学生数据 8、退出管理系统 *\n");
printf("* *\n");
printf("*******************************************************************\n");
printf("请输入你的选择:");
}
void teaMenu(void){
printf("****************************主菜单*********************************\n");
printf("* *\n");
printf("* 1、管理学生数据 2、退出管理系统 *\n");
printf("* *\n");
printf("*******************************************************************\n");
printf("请输入你的选择:");
}
int main(void){
mainMenu();
int choice;
scanf("%d",&choice);
if(choice==1){
stuMenu();
scanf("%d",&choice);
while(choice!=8){
switch(choice){
case 1:printf("创建学生数据\n");break;
case 2:printf("查询学生数据\n");break;
case 3:printf("更新学生数据\n");break;
case 4:printf("排序学生数据\n");break;
case 5:printf("统计学生数据\n");break;
case 6:printf("保存学生数据\n");break;
case 7:printf("输出学生数据\n");break;
default:printf("输入选项错误,请输入1到8之间的数字。\n");
}
stuMenu();
scanf("%d",&choice);
}
}else if(choice==2){
teaMenu();
scanf("%d",&choice);
while(choice!=2){
switch(choice){
case 1:printf("管理学生数据\n");break;
default:printf("输入选项错误,请输入1到2之间的数字。\n");
}
teaMenu();
scanf("%d",&choice);
}
}
printf("退出系统!\n");
return 0;
}