键盘打工穷人 2021-07-18 14:45 采纳率: 57.1%
浏览 27
已采纳

为啥选择switch的序号后菜单还在循环(部分程序)

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");
}
}

img

  • 写回答

1条回答 默认 最新

  • 遗落尘污 2021-07-18 15:12
    关注

    while没有break。
    case里的break是switch语法的。可以加一个布尔变量标识是否处理过,在while语块结束时判断是否处理,如果处理了就break。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 已采纳回答 7月18日
    • 创建了问题 7月18日

    悬赏问题

    • ¥15 express连接mssql,每条额外附加了语句
    • ¥20 IQOO12如何有效ADB方法
    • ¥15 ios如何获取用户的订阅情况
    • ¥15 复杂表达式求值程序里的函数优先级问题
    • ¥15 求密码学的客成社记ji着用
    • ¥35 POI导入树状结构excle
    • ¥15 初学者c语言题目解答
    • ¥15 div editable中的光标问题
    • ¥15 mysql报错1415Not allowed to return a result set from a trigger 不知如何修改
    • ¥60 Python输出Excel数据整理,算法较为复杂