IF语句的问题
Issues with IF statement
应用程序要求用户输入学生的专业-数学或CIS,我想这样做,所以如果用户要输入这两个以外的东西,它会给出一个错误消息,并提示用户再次输入专业。
到目前为止我写的是:
cout << "Math or CIS Major: ";
cin >> major;
if (major != "math" || major != "Math" || major != "CIS" || major != "cis") {
cout << "Invalid major" << endl;
}
cout << "Enter students GPA: ";
cin >> studentGpa;
这将给出无效的major消息但是它会转移到GPA
由于某些原因,我记不住基本的东西,这把我绊倒了。
还有,如果有人能给我指引一个正确的方向,找到一个替代的||我知道这不是最好的方法,但我又在努力想出一个更好的方法来做这个
用AND(&&
)代替OR(||
)
if (major != "math" && major != "Math" && major != "CIS" && major != "cis")
如果你想让用户输入一个有效的major,那么你需要把它放入一个循环:
std::string major;
std::cout << "Major: ";
std::cin >> major;
while (major != "math" && major != "Math" && major != "CIS" && major != "cis")
{
std::cout << "Please enter a valid major!n";
std::cout << "Major: ";
std::cin >> major;
}
这样程序将不会继续,除非他们输入一个有效的专业。
您混淆了OR(||)和and (&&)。在中频条件下用&&
代替||
应该可以达到目的。
当前if
语句检查(if A is not equal to B) OR (if A is not equal to C)
。如果B和C是不同的,那么A最多只能等于它们中的一个,或者换句话说,总是不等于它们中的至少一个。
所以,你的条件总是求值为真。正确的说法是你的if
条件是一个重言式。
如果你想跳过这一切,想要代码:
if (major != "math" && major != "Math" && major != "CIS" && major != "cis") {
相关文章:
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- Craps游戏问题,忽略if语句
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 有人能在我的代码中找到与C++中的IF语句相关的问题吗
- 面临在 if 语句之外打印变量数据的问题 完成使用 Qt 编程
- 如果 GPA 计算器的语句问题
- C++:关于for语句和参数的一般问题
- 为什么当我从语句检查中删除"+ mod"时,以下程序给出错误的答案。问题链接:https://www.codechef.com/problems/FFC219B
- C++字符串和 while 语句的问题
- 使用语句if时逻辑的问题
- C - 如果语句问题.代码将不会运行其他,否则
- R6010 执行后出错.if 语句在 for 循环中.[作业][中止已解决,发现新问题]
- 在设置 if-else 语句以删除特定货币并保持更新时遇到问题
- 如果/else语句未显示/可变分配问题的输出;初学者程序员
- 在循环中与开关语句有问题
- If/Else 语句在 2D 数组中移动时出现问题
- 从类模块检索信息以在 switch 语句中输出时出现问题
- 我的 IF 语句中存在问题,否则无法正常工作
- C++函数问题中的 IF 语句