【发布时间】:2014-10-15 19:00:00
【问题描述】:
我正在构建一个标准的四功能计算器,但遇到了一个令人困惑的错误。
char Engine::AskUser(){
char type;
std::cout << "'a'dd, 'm'ulitply, 's'ubract, or 'd'ivide ?\n";
std::cin >> type;
CheckUser(type);
return type;
}
void Engine::CheckUser(char uType){
if(uType != 'a' || uType != 's' || uType != 'm' || uType != 'd'){
std::cout << "Type 'a', 'm', 's', or 'd'\n";
AskUser();
}
else
return;
}
发生的情况是,即使我输入 a、s、m 或 d,if 语句仍然会像这些条件为真一样进行迭代,显然情况并非如此。我不明白。 uType 是否没有携带来自 AskUser() 或类似的类型的值?
【问题讨论】:
标签: c++ if-statement char