代码在我添加到部分之前工作,如果用户输入的数字高于12,我希望它说'#34;而不是一个月的数字。"我试图得到if和其他工作,但它只是总是停止程序即时通讯新的编程抱歉格式不好。任何帮助都很好。感谢。
#include <iostream>
using namespace std;
int main()
{
int month = 0;
int days;
cout << "Month: ";
cin >> month;
if (month != 1 || month != 2 || month != 3 || month != 4 || month != 5 ||
month != 6 || month != 7 || month != 8 || month != 9 || month != 10 ||
month != 11 || month != 12 ) {
cout<<"not a number for a month";
return 0;
}
if (month == 4 || month == 6 || month == 9 || month == 11)
days = 30;
else
days = 31;
cout << days;
return 0;
}
答案 0 :(得分:5)
用
替换那个完全邪恶的if
条件
if (month < 1 || month > 12){
除了可怕之外,你错误地使用||
:你的条件总是true
。您需要&&
。
然后修复month == 2
的特殊情况。那时你需要知道这一年。
根据经验:如果你发现自己编写了非常繁琐的代码,那么可能有一种更简单的方式来表达你的意图。