while (1)
{
printf("*\n");
printf("使用学生成绩管理系统\n");
printf("[1] 输入所有学生信息\n");
printf("[2] 输出所有学生成绩\n");
printf("[3] 按学号查找某个学生信息\n");
printf("[4] 按姓名查找某个学生信息\n");
printf("[5] 按总成绩对学生排序\n");
printf("[6] 按学号删除某个学生信息\n");
printf("[7] 按学号增加某个学生信息\n");
printf("[0] 退出程序\n");
printf("请输入您的选择(0 - 7):");
scanf("%d", &xuhao);
printf("**)\n");
switch (xuhao)
{
case 1:
printf("请输入学生信息!\n");
head=creat();
break;
case 2:
print(head);
break;
case 3:
printf("请输入要查找的学号!\n");
research_1(head);
break;
case 4:
printf("请输入要查找的名字!\n");
research_2(head);
break;
case 5:
PX(head);
break;
case 6:
printf("请输入要删除的学号!\n");
scanf("%d", &del_num);
del(head,del_num);
break;
case 7:
printf("请输入要插入的信息!\n");
printf("\n学号:");
scanf("%d", &stu.num);
printf("\n姓名:");
scanf("%s", stu.name);
printf("\n语文成绩:");
scanf("%d", &stu.chinese);
printf("\n数学成绩:");
scanf("%d", &stu.math);
printf("\n英语成绩:");
scanf("%d", &stu.english);
insert(head,&stu);
break;
case 0:
printf("退出程序!\n");
exit(0);
break;
default:
printf("您输入的序号有误,请重新输入!\n");
}
}
为啥选择switch的序号后菜单还在循环(部分程序)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 遗落尘污 2021-07-18 15:12关注
while没有break。
case里的break是switch语法的。可以加一个布尔变量标识是否处理过,在while语块结束时判断是否处理,如果处理了就break。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 求数学坐标画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了
- ¥15 链式存储应该如何解决
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站