int menu_select()//菜单实现 { char *m[13]=//根据菜单项设计指针数组长度 { "1. 增加城市信息", "2. 删除城市信息", "3. 修改城市信息", "4. 保存城市信息至文件", "5. 从文件读取城市信息", "6. 显示所有城市信息", "7. 设置飞机信息", "8. 显示飞机信息", "9. 判断起飞飞机是否可以刹车", "10. 查询飞机雷达半径内所有城市信息", "11.删除飞机信息", "0. 退出" }; int i,choice; do { system("cls");//清屏 for (i = 0; m[i]; i++) cout<<m[i]<<endl; cout << "Input 0-11:"; cin >> choice; } while (choice < 0 || choice>11); return (choice); }无法显示菜单,是什么原因
时间: 2023-07-19 10:21:45 浏览: 77
c语言实现学生信息管理系统.pdf
根据您提供的代码,这段代码应该是一个菜单实现的函数。其中使用了一个指针数组 `m` 来保存菜单项的字符串,然后通过循环输出菜单项。但是,您的代码存在一些问题:
1. 数组 `m` 的长度为 13,但是只有 12 个菜单项,因此最后一个菜单项的字符串应该为 `"0. 退出"` 而不是 `""`。
2. 在循环输出菜单项时,应该使用 `m[i]` 来获取菜单项字符串,而不是 `m[i]` 后面加上 `endl`,否则会在每个菜单项之间输出一个空行。
因此,您可以尝试修改您的代码如下:
```c++
int menu_select() {
char *m[13] = {
"1. 增加城市信息",
"2. 删除城市信息",
"3. 修改城市信息",
"4. 保存城市信息至文件",
"5. 从文件读取城市信息",
"6. 显示所有城市信息",
"7. 设置飞机信息",
"8. 显示飞机信息",
"9. 判断起飞飞机是否可以刹车",
"10. 查询飞机雷达半径内所有城市信息",
"11. 删除飞机信息",
"0. 退出"
};
int i, choice;
do {
system("cls");//清屏
for (i = 0; i < 12; i++) {
cout << m[i] << endl;
}
cout << "Input 0-11:";
cin >> choice;
} while (choice < 0 || choice > 11);
return choice;
}
```
这样就可以正常显示菜单了。
阅读全文