【发布时间】:2018-01-09 14:10:17
【问题描述】:
代码在我添加之前有效,如果用户输入的数字高于 12,我希望它说“一个月内不是数字”。我试图让 if 和 else 工作,但它总是停止程序我也是编程新手,因为格式不好。任何帮助都是好的。谢谢。
#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;
}
【问题讨论】:
-
你想要
&&。或者你可以if (month < 1 || month > 12) {... -
因此,如果您输入
2为month,month != 1将是true,您将进入if。如果你按照 Bathsheba 的指示修复它,它会稍微好一点:它会在 2 月返回 31,但至少它会在所有其他月份工作:-) -
了解 || 的基本区别和 && 运算符。你的基础不清楚。
-
2 月 31 日?那是我的生日,我很高兴终于有人写了一个程序来识别那个日期!
-
我亲爱的妻子在 2 月 29 日向我求婚:确保你也包括那个。
标签: c++ if-statement days