C语言,为何调用不出菜单函数,显示有误

发布网友 发布时间:2022-04-23 18:07

我来回答

3个回答

热心网友 时间:2023-08-30 01:59

do循环中没有menu这个函数的调用

一个建议啊
一般子函数你写在main前面,这个是一个很好的习惯
这样就不用在main前面或者里面定义子函数了追问求细说啊..把menu放在 do 里面了,也不太行啊,咋整...

追答这个类似学生成绩管理系统
一般来说就是一个while死循环加上一个switch调用相关的子函数模块的框架,你说是不?
你要是不熟悉,我给你写一个框架

while(1)
{
do{
system("cls"); //要是清屏就要这句,不需要清屏这句不要。
menu(); //打印菜单
printf("请选择你需要操作的步骤(1--7):\n"); //这一句可以放到menu中
scamf("%d',&n);
}while(x>7||x<0); //这个循环主要是检查输入错误的选择的
switch(n) //这里就调用子函数功能模块即可
{
case1:printf(" ◆◆◆输入职工信息◆◆◆\n");printf("\n");input();break;
case2:printf(" ◆◆◆浏览职工信息◆◆◆\n");printf("\n");display();break;
case3:printf(" ◆◆◆按职工号查询职工信息◆◆◆\n");printf("\n");search();break;
case4:printf(" ◆◆◆删除职工信息◆◆◆\n");printf("\n");del();break;
case5:printf(" ◆◆◆添加职工信息◆◆◆\n");printf("\n");add();break;
case6:printf(" ◆◆◆修改职工信息◆◆◆\n");printf("\n");modify();break;
case7:exit(0);
}
}
这个大循环就是重复输入选择的,因为执行完case的分支子函数后,就到了do的那个输入n里面去,是不?
输入7就exit退出程序了
不需要询问是否继续的代码

其他的子函数功能自己写吧,这个你应该能搞定

热心网友 时间:2023-08-30 01:59

你的菜单函数没有打印出来,是因为在 while(flag == 1) 这一步里面,直接执行到 default 这一步了,具体原因是因为你写的case1 中的case 和 1 中间没有空格,所以机器是不认识的,因为机器没有找到“1” 这个 整形数(n),你在case 后面都加一个空格 ,就可以了。

另外,编译有警告,需要加上库函数: #include <stdlib.h>追问加上空格貌似也不行啊...耿亲..

追答可以执行到你的那一条打印语句。后面的函数你没有具体的实现,所以会直接往后执行

热心网友 时间:2023-08-30 02:00

在main函数之前加menu函数的声明。void menu();追问我在上面定义了,无返回值的menu啊...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com