Тема: Як обмежити оператор if?
Завдання: Написати функцію яка за номером місяця визначає кількість днів у ньому. Враховуючи високосний рік.
Місяці 9-12 неправильно виводять свою кількість днів. Як це виправити? P.s. я пробував якось обмежити if, щоб оператор пропускав ці місяці, але щось у мене не вийшло і я не знаю як це виправити((
Ось код:
#include <iostream>
#include <windows.h>
#include <locale.h>
#include <math.h>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int a;
cout << "1 - Січень" << endl;
cout << "2 - Лютий" << endl;
cout << "3 - Березень" << endl;
cout << "4 - Квітень" << endl;
cout << "5 - Травень" << endl;
cout << "6 - Червень" << endl;
cout << "7 - Липень" << endl;
cout << "8 - Серпень" << endl;
cout << "9 - Вересень" << endl;
cout << "10 - Жовтень" << endl;
cout << "11 - Листопад" << endl;
cout << "12 - Грудень" << endl;
cout << "Оберіть місяць: ";
cin >> a;
if (a == 2)
{
char b;
cout << "Рік високосний?" << endl << "1 - Так" << endl << "2 - Ні" << endl;
cin >> b;
if (b == '1')
{
cout << "В цьому місяці 29 днів" << endl;
}
else if (b == '2')
{
cout << "В цьому місяці 28 днів" << endl;
}
}
if (a % 2 || a == 8)
cout << "В цьому місяці 31 день" << endl;
else
{
if (!(a % 2))
{
if (a != 2)
{
cout << "В цьому місяці 30 днів" << endl;
}
}
}
system("pause");
return 0;
}