Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Использование оператора switch - case в C++.

Arsen Hasratyan Профи (948), закрыт 1 год назад
Нужно создать два переменных,для месяца и дня и написать код, который на основе введенных чисел вычислит какой порядковый номер дня в году(и в високосном тоже) соответствует введенной дате. Нужно использовать конструкцию switch - case.
Лучший ответ
Николай Веселуха Высший разум (360666) 1 год назад
#include <iostream>
#include <numeric>
using namespace std;
int main() {
int year[]{ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
cout << ">>> ";
int day, month, number;
cin >> day >> month;
switch (month) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
number = day;
break;
default:
number = 0;
}
if (number) {
number += accumulate(year, year + month, 0);
cout << "<<< " << number << '\n';
} else {
puts("Error!");
}
}
Arsen HasratyanПрофи (948) 1 год назад
Спасибо
Николай Веселуха Высший разум (360666) Arsen Hasratyan, пожалуйста. И, да, только по числу и месяцу невозможно отличить високосный год от не високосного.
Остальные ответы
Сергей Гений (56227) 1 год назад
#include <iostream>
using namespace std;

enum month {JAN=31,FEB=28,MAR=31,APR=30,MAY,JUN=30,JUL,AUG=31,SEP=30,OCT,NOV=30};
int main()
{
int mon{}, day{}, all{};
cin >> mon >> day;
switch (mon)
{
case 12:all += NOV;
case 11:all += OCT;
case 10:all += SEP;
case 9:all += AUG;
case 8:all += JUL;
case 7:all += JUN;
case 6:all += MAY;
case 5:all += APR;
case 4:all += MAR;
case 3:all += FEB;
case 2:all += JAN;
default:all += day;
}
cout << all;
}
Похожие вопросы