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

时间:2018-01-09 14:10:17

标签: c++ if-statement days

代码在我添加到部分之前工作,如果用户输入的数字高于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;
}

1 个答案:

答案 0 :(得分:5)

替换那个完全邪恶的if条件
if (month < 1 || month > 12){

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

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

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