c ++中的函数,它接受月份数并打印月份的天数

mat*_*att 0 c++ if-statement days

代码在我添加到部分之前工作,如果用户输入的数字高于12,我希望它说"不是一个月的数字".我试图得到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;
}
Run Code Online (Sandbox Code Playgroud)

Bat*_*eba 5

if条件取代那种完全邪恶的条件

if (month < 1 || month > 12){
Run Code Online (Sandbox Code Playgroud)

除了可怕之外,你||错误地使用了:你的条件总是如此true.你需要&&.

然后修复特殊情况month == 2.那时你需要知道这一年.

根据经验:如果你发现自己编写了非常繁琐的代码,那么可能有一种更简单的表达方式.