int menu_select()//菜单实现 { char *m[13]=//根据菜单项设计指针数组长度 { "1. 增加城市信息", "2. 删除城市信息", "3. 修改城市信息", "4. 保存城市信息至文件", "5. 从文件读取城市信息", "6. 显示所有城市信息", "7. 设置飞机信息", "8. 显示飞机信息", "9. 判断起飞飞机是否可以刹车", "10. 查询飞机雷达半径内所有城市信息", "11.删除飞机信息", "0. 退出" }; int i,choice=0; 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); } void main()//主函数 { Map mapObj;//定义地图对象 Plane planeObj;//定义飞机对象 int sel; for(;;) { switch(sel=menu_select()) { case 1: appendCity(mapObj); //增加城市信息 system("pause"); break; case 2: delCity(mapObj);//删除城市信息 system("pause"); break; case 3: updCity(mapObj);//修改城市信息 system("pause"); break; case 4: SaveTofile(mapObj); //保存城市信息至文件 system("pause"); break; case 5: ReadFromFile(mapObj);//从文件读取城市 system("pause"); break; case 6: ShowAllCities(mapObj); //显示所有城市信息 system("pause"); break; case 7: AddPlane(planeObj);//设置飞机信息 system("pause"); break; case 8: ShowPlane(planeObj); //显示飞机信息 system("pause"); break; case 9: Brake(planeObj);//判断起飞飞机能否刹车 system("pause"); break; case 10: RadarSearch(planeObj, mapObj);//查询飞机雷达半径内所有城市信息 system("pause"); break; case 0: if (Quit(mapObj) != 'y') continue; } if (sel == 0)break; } }
时间: 2024-02-02 16:03:29 浏览: 96
你的代码中似乎没有包含任何与字符编码相关的头文件和函数。你可以尝试在代码文件开头添加以下头文件:
```c++
#include <iostream>
#include <cstdio>
#include <locale.h>
```
然后在 `main` 函数里面加入以下代码:
```c++
setlocale(LC_ALL, ""); //设置本地化环境,允许输出中文字符
```
这样应该就能够正常输出中文字符了。如果还有问题,请让我知道。
相关问题
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); }
这段代码实现了一个菜单,包括了11个选项和一个退出选项。用户可以输入数字选择相应的操作,程序会根据用户的选择执行相应的功能。其中,使用了一个指针数组m,存储了每个菜单选项的字符串,然后通过循环输出到屏幕上。用户输入的数字会被存储在变量choice中,然后通过do-while循环进行输入合法性检查,如果输入不合法则会继续要求用户输入,直到输入合法为止。最后,函数返回用户选择的数字。如果你有任何问题,可以继续问我。
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); }无法显示菜单,是什么原因
根据你提供的代码,可能是因为在输出菜单项时使用了 `cout`,但是在 Windows 系统中,应该使用 `printf` 或者 `puts` 函数才能正常显示中文字符。你可以尝试修改输出菜单项的代码,例如将 `cout<<m[i]<<endl;` 修改为 `puts(m[i]);` 或者 `printf("%s\n", m[i]);`。另外,你也可以检查一下是否包含了正确的头文件,例如 `#include <iostream>` 和 `#include <cstdio>`。
阅读全文