Предмет: Информатика,
автор: marycherrycloud2007
ПОМОГИТЕ С ИНФОРМАЬИКОЙ УМОЛЯЮ
напишите программу в с++ с <iostream>!!!
Напишите программу, которая принимает от пользователя номер месяца и сообщает время года, к которому этот месяц относится. Если номер месяца неправильный, то должно быть выведено "Ошибка". Задача должна быть решена с использованием оператора switch.
Ответы
Автор ответа:
1
Код
- #include <iostream>
- #include <functional>
- std::string what_season_is_it(int month_number) {
- switch (month_number) {
- case 12:
- case 1:
- case 2:
- return "Зима";
- case 3:
- case 4:
- case 5:
- return "Весна";
- case 6:
- case 7:
- case 8:
- return "Лето";
- case 9:
- case 10:
- case 11:
- return "Осень";
- default:
- throw std::runtime_error("You can't stay here. Keep out!!");
- }
- }
- bool take_correct_number(int &number, const std::function<bool(int)>& Q) {
- do {
- std::cin >> number;
- if (!Q(number)) {
- std::cout << "Ошибка" << std::endl;
- continue;
- }
- break;
- } while (true);
- return true;
- }
- int main() {
- int month_number;
- take_correct_number(month_number, [](int x){return x <= 12 && x >= 1;});
- std::cout << what_season_is_it(month_number) << std::endl;
- }
Приложения:
Похожие вопросы
Предмет: Русский язык,
автор: coolmyc
Предмет: Русский язык,
автор: mukhammet86
Предмет: Русский язык,
автор: igorekpodgorno
Предмет: Математика,
автор: zhenya206