*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:1
欢迎━(*`??*)ノ亻! 选择:迪迦奥特曼
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:2
欢迎━(*`??*)ノ亻! 选择:哆啦A梦
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:3
欢迎━(*`??*)ノ亻! 选择:大耳朵图图
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:4
欢迎━(*`??*)ノ亻! 选择:果宝特攻
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:5
欢迎━(*`??*)ノ亻! 选择:喜羊羊与灰太狼
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:6
欢迎━(*`??*)ノ亻! 选择:熊出没
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:7
输入有误!没有 7 选项....
*************************************************
[*************** 1. 迪迦奥特曼 *****************]
[*************** 2. 哆啦A梦 ********************]
[*************** 3. 大耳朵图图 *****************]
[*************** 4. 果宝特攻 *******************]
[*************** 5. 喜羊羊与灰太狼 *************]
[*************** 6. 熊出没 *********************]
[*************** 0.退出 ************************]
*************************************************
请输入你的选择:0
欢迎━(*`??*)ノ亻! 下次再来 ━(*`??*)ノ亻!
请按任意键继续. . .
菜单显示
//定义菜单显示函数 方便管理
void ShowMenu(const std::string Menu[], int MenuSize) {
if (MenuSize > 0){
int i;
for (i = 0; i < MenuSize - 1; i++) {
std::cout << Menu[i] << std::endl;
}
std::cout << Menu[i];
}
}
//定义菜单显示函数(无参数) 方便调用
void ShowMainMenu() {
//菜单数组
const std::string Menu[] = {
"*************************************************",
"[*************** 1. 迪迦奥特曼 *****************]",
"[*************** 2. 哆啦A梦 ********************]",
"[*************** 3. 大耳朵图图 *****************]",
"[*************** 4. 果宝特攻 *******************]",
"[*************** 5. 喜羊羊与灰太狼 *************]",
"[*************** 6. 熊出没 *********************]",
"[*************** 0.退出 ************************]",
"*************************************************",
"请输入你的选择:"
};
const int MenuSize = sizeof(Menu) / sizeof(Menu[0]);
ShowMenu(Menu, MenuSize);
}
用户的选择
int inputUseSelect(void) {
//定义了一个选择变量接收用户的输入
int Select;
//输入用户的选择
while (true){
//清除控制台
system("cls");
//调用菜单显示函数
ShowMainMenu();
bool isinputerror = bool(std::cin >> Select);
//判断用户输入是否合法
if (isinputerror) {
if (Select >= 0 && Select < 7) {
break;
}
else {
std::cout << "输入有误!没有 " << Select << " 选项...." << std::endl;
}
}
else {
std::cout << "输入有误,不是整数! 请重新输入...." << std::endl;
//请除错误标志
std::cin.clear();
//刷新缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.get();
}
}
return Select;
}
main函数
/*
1. 迪迦奥特曼
2. 哆啦A梦
3. 大耳朵图图
4. 果宝特攻
5. 喜羊羊与灰太狼
6. 熊出没
*/
//定义菜单显示函数 方便管理
void ShowMenu(const std::string Menu[], int MenuSize) {
if (MenuSize > 0){
int i;
for (i = 0; i < MenuSize - 1; i++) {
std::cout << Menu[i] << std::endl;
}
std::cout << Menu[i];
}
}
//定义菜单显示函数(无参数) 方便调用
void ShowMainMenu() {
//菜单数组
const std::string Menu[] = {
"*************************************************",
"[*************** 1. 迪迦奥特曼 *****************]",
"[*************** 2. 哆啦A梦 ********************]",
"[*************** 3. 大耳朵图图 *****************]",
"[*************** 4. 果宝特攻 *******************]",
"[*************** 5. 喜羊羊与灰太狼 *************]",
"[*************** 6. 熊出没 *********************]",
"[*************** 0.退出 ************************]",
"*************************************************",
"请输入你的选择:"
};
const int MenuSize = sizeof(Menu) / sizeof(Menu[0]);
ShowMenu(Menu, MenuSize);
}
int inputUseSelect(void) {
//定义了一个选择变量接收用户的输入
int Select;
//输入用户的选择
while (true){
//清除控制台
system("cls");
//调用菜单显示函数
ShowMainMenu();
bool isinputerror = bool(std::cin >> Select);
//判断用户输入是否合法
if (isinputerror) {
if (Select >= 0 && Select < 7) {
break;
}
else {
std::cout << "输入有误!没有 " << Select << " 选项...." << std::endl;
}
}
else {
std::cout << "输入有误,不是整数! 请重新输入...." << std::endl;
//请除错误标志
std::cin.clear();
//刷新缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.get();
}
}
return Select;
}
/*
2. 哆啦A梦
3. 大耳朵图图
4. 果宝特攻
5. 喜羊羊与灰太狼
6. 熊出没
*/
//1. 迪迦奥特曼
void Ultraman(std::string Welcome);
//2. 哆啦A梦
void Doraemon(std::string Welcome);
//3. 大耳朵图图
void BigEarTutu(std::string Welcome);
//4. 果宝特攻
void TransformersRobotsInDisguise(std::string Welcome);
//5. 喜羊羊与灰太狼
void PleasantGoatandBigBigWolf(std::string Welcome);
//6. 熊出没
void WhereAreWeGoingDad(std::string Welcome);
// 用户的选择
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;
}
int main(void) {
//定义了一个选择变量接收用户的输入
int Select;
//是否退出
bool IsExit = false;
while (!IsExit) {
//输入用户的选择 并且判断用户输入是否合法
Select = inputUseSelect();
//刷新缓冲区
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
// 用户的选择
IsExit = UseSelect(Select);
}
std::cout << "欢迎━(*`∀´*)ノ亻! 下次再来 ━(*`∀´*)ノ亻! " << std::endl;
system("pause");
return 0;
}
截取子串
std::string InterceptSubString(const std::string str) {
std::string ret;
int pos = str.find(":", 0);
if (pos != std::string::npos) {
int substrSize = str.size() - pos ;
ret = str.substr((std::string::size_type)pos + 1, substrSize);
}
return ret;
}
迪迦奥特曼
void UltramanMainMenu();
void Ultraman(std::string Welcome){
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
//截取动画片名
Cartoontitle = InterceptSubString(Welcome);
//休眠:1.5s
sleep_for(1500ms);
system("cls");
while (true) {
std::cout << "\t\t 动画片名:" << Cartoontitle << std::endl;
UltramanMainMenu();
}
system("cls");
return;
}
哆啦A梦
void Doraemon(std::string Welcome) {
//动画片名
std::string Cartoontitle;
std::cout << Welcome << std::endl;
//动画片名
Cartoontitle = InterceptSubString(Welcome);
sleep_for(1500ms);
system("cls");
std::cout << "动画片名:" << Cartoontitle << std::endl;
std::cin.get();
system("cls");
return;
}
大耳朵图图
void BigEarTutu(std::string Welcome){
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
Cartoontitle = InterceptSubString(Welcome);
sleep_for(1500ms);
system("cls");
std::cout << "动画片名:" << Cartoontitle << std::endl;
std::cin.get();
system("cls");
return;
}
果宝特攻
void TransformersRobotsInDisguise(std::string Welcome) {
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
Cartoontitle = InterceptSubString(Welcome);
sleep_for(1500ms);
system("cls");
std::cout << "动画片名:" << Cartoontitle << std::endl;
std::cin.get();
system("cls");
return;
}
喜羊羊与灰太狼
void PleasantGoatandBigBigWolf(std::string Welcome){
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
Cartoontitle = InterceptSubString(Welcome);
sleep_for(1500ms);
system("cls");
std::cout << "动画片名:" << Cartoontitle << std::endl;
std::cin.get();
system("cls");
return;
}
熊出没
void WhereAreWeGoingDad(std::string Welcome){
std::cout << Welcome << std::endl;
//动画片名
std::string Cartoontitle;
Cartoontitle = InterceptSubString(Welcome);
sleep_for(1500ms);
system("cls");
std::cout << "动画片名:" << Cartoontitle << std::endl;
std::cin.get();
system("cls");
return;
}