修改代码
//用户输入选择
int inputUseSelect() {
//定义了一个选择变量接收用户的输入
int Select;
//输入用户的选择
(std::cin >> Select);
return Select;
}
//输入有误
bool isInputIncorrect(int Select, int MaxSelectRange = 7) {
if (Select >= 0 && Select < MaxSelectRange) {
return false;
}
else {
std::cout << "输入有误!没有 " << Select << " 选项...." << std::endl;
return true;
}
}
//判断用户输入是否合法
bool isInputValid(void) {
if (!std::cin){
//请除错误标志
std::cin.clear();
//刷新缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "输入有误,不是整数! 请重新输入...." << std::endl;
cin.get();
return true;
}
return false;
}
修改后的代码分析更加可读性 啥时候干什么事情都一目了然
修改后的main函数
int main(void) {
//定义了一个选择变量接收用户的输入
int Select;
//是否退出
bool IsExit = false;
while (!IsExit) {
system("cls");
//调用菜单显示函数
ShowMainMenu();
//输入用户的选择 并且判断用户输入是否合法
Select = inputUseSelect();
if (isInputValid() || isInputIncorrect(Select)) {
continue;
}
//刷新缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
// 用户的选择
IsExit = UseSelect(Select);
}
std::cout << "欢迎━(*`∀´*)ノ亻! 下次再来 ━(*`∀´*)ノ亻! " << std::endl;
system("pause");
return 0;
}
用户的选择 这个地方小小的改动
// 用户的选择
bool UseSelect(int Select) {
bool IsExit = false;
//选择动画片名
const char SelectName[7][64] = { "","迪迦奥特曼","哆啦A梦","大耳朵图图","果宝特攻","喜羊羊与灰太狼","熊出没 " };
std::string Welcome = std::string("欢迎━(*`∀´*)ノ亻! 选择:") + SelectName[Select];
switch (Select) {
case 1://1. 迪迦奥特曼
Ultraman(Welcome);
break;
case 2://2. 哆啦A梦
Doraemon(Welcome);
break;
case 3: //3. 大耳朵图图
BigEarTutu(Welcome);
break;
case 4:
//4. 果宝特攻
TransformersRobotsInDisguise(Welcome);
break;
case 5:
//5. 喜羊羊与灰太狼
PleasantGoatandBigBigWolf(Welcome);
break;
case 6://6. 熊出没
WhereAreWeGoingDad(Welcome);
break;
case 0:
IsExit = true;
break;
default:
// std::cout << "输入有误!没有 " << Select << " 选项...." << std::endl;
break;
}
return IsExit;
}
修改后的迪迦奥特曼主框架函数
void Ultraman(std::string Welcome){
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
//截取动画片名
Cartoontitle = InterceptSubString(Welcome);
//休眠:1.5s
sleep_for(1500ms);
int Select;
bool IsExit = false;
while (!IsExit) {
system("cls");
std::cout << "\t\t 动画片名:" << Cartoontitle << std::endl;
UltramanMainMenu();
Select = inputUseSelect();
//参数菜单的数量
if (isInputValid() || isInputIncorrect(Select,4)) {
continue;
}
IsExit = UltramanSelectMenu(Select);
}
system("cls");
return;
}
小改 迪迦选择菜单
//迪迦选择菜单
bool UltramanSelectMenu(int Select){
bool IsExit = false;
switch (Select) {
case 1://1.添加新角色
break;
case 2://2.浏览角色
break;
case 3://3.浏览角色的关系
break;
case 4://3.浏览角色的关系
break;
case 0:
IsExit = true;
break;
default:
//std::cout << "输入有误!没有 " << Select << " 选项...." << std::endl;
break;
}
return IsExit;
}
运行后
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:1
欢迎━(*`??*)ノ亻! 选择:迪迦奥特曼
动画片名:迪迦奥特曼
*************************************************
[*************** 1.添加新角色 ******************]
[*************** 2.浏览角色 ********************]
[*************** 3.浏览角色的关系 **************]
[*************** 4.浏览角色的所有属性 **********]
[*************** 0.返回主系统 ******************]
*************************************************
请输入你的选择:1
动画片名:迪迦奥特曼
*************************************************
[*************** 1.添加新角色 ******************]
[*************** 2.浏览角色 ********************]
[*************** 3.浏览角色的关系 **************]
[*************** 4.浏览角色的所有属性 **********]
[*************** 0.返回主系统 ******************]
*************************************************
请输入你的选择:ahh
输入有误,不是整数! 请重新输入....
动画片名:迪迦奥特曼
*************************************************
[*************** 1.添加新角色 ******************]
[*************** 2.浏览角色 ********************]
[*************** 3.浏览角色的关系 **************]
[*************** 4.浏览角色的所有属性 **********]
[*************** 0.返回主系统 ******************]
*************************************************
请输入你的选择:9
输入有误!没有 9 选项....
动画片名:迪迦奥特曼
*************************************************
[*************** 1.添加新角色 ******************]
[*************** 2.浏览角色 ********************]
[*************** 3.浏览角色的关系 **************]
[*************** 4.浏览角色的所有属性 **********]
[*************** 0.返回主系统 ******************]
*************************************************
请输入你的选择:0
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:0
欢迎━(*`??*)ノ亻! 下次再来 ━(*`??*)ノ亻!
请按任意键继续. . .