新手在这里。如果这是一个简单的问题,请不要感到惊讶。
以下是这段代码:
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
char a;
int c = 0;
void mva()
{
std::cout << "Nothing here yet, move along." << std::endl;
std::cout << "Press \"e\" to exit or \"r\" to return" << std::endl;
}
void cho()
{
std::cout << "Choose a valid option noob!" << std::endl;
std::cout << "Press \"e\" to exit or \"r\" to return" << std::endl;
}
void menu()
{
std::cout << "Welcome." << std::endl;
std::cout << "Choose an option" << std::endl;
std::cout << "1." << std::endl;
std::cout << "2. " << std::endl;
std::cout << "3." << std::endl;
std::cout << "4." << std::endl;
std::cout << "5." << std::endl; //5 is exit
}
int main()
{
menu();
std::cin >> c;
switch (c)
{
case 1:
mva();
std::cin >> a;
while (a != 'e' || a != 'r')
{
switch (a)
{
case 'e':
exit(0);
break;
case 'r':
break;
default:
cho();
std::cin >> a;
break;
}
}
break;
case 5:
exit(0);
break;
default:
cho();
std::cin >> a;
while (a != 'e' || a != 'r') {
switch (a)
{
case 'e':
exit(0);
break;
case 'r':
break;
default:
cho();
std::cin >> a;
break;
}
}
break;
}
return 0;
}
用户可以从5个选项中进行选择。当一个选项完成时(暂时只打印文本),用户应选择“e”(退出;此操作)或“r”返回菜单(只打印选项并带走用户)再次输入)。但是,按“r”然后输入不会再次打印选项并要求用户输入;它确实......没什么?我不知道该怎么做。我怀疑我需要在某处实现menu()
,但我不知道在哪里。这个问题一直很混乱,我很感激帮助。
答案 0 :(得分:1)
你的病情应该是
while (a != 'e' && a != 'r')
无论您输入的true
值是多少,都始终为a
。