оператор if — функция в c ++, которая принимает номер месяца и печатает количество дней в месяце

код работал до того, как я добавил его в той части, где, если пользователь вводит число, превышающее 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;
}

0

Решение

Замени это зло if условно с

if (month < 1 || month > 12){

Помимо того, что вы ужасны, вы используете || по ошибке: ваш условный всегда true, Тебе нужно было &&,

Затем исправьте специальный случай для month == 2, На этом этапе вам нужно знать год.

Как правило: если вы пишете очень утомительный код, то, вероятно, есть более простой способ выразить свое намерение.

5

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector