код работал до того, как я добавил его в той части, где, если пользователь вводит число, превышающее 12, я хочу, чтобы оно говорило «не число в течение месяца». я пытаюсь заставить работать что-то еще, но это просто всегда останавливает программу, я также плохо знаком с программированием, извините за плохой формат Любая помощь это хорошо. Благодарю.
#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
условно с
if (month < 1 || month > 12){
Помимо того, что вы ужасны, вы используете ||
по ошибке: ваш условный всегда true
, Тебе нужно было &&
,
Затем исправьте специальный случай для month == 2
, На этом этапе вам нужно знать год.
Как правило: если вы пишете очень утомительный код, то, вероятно, есть более простой способ выразить свое намерение.
Других решений пока нет …