• Предмет: Информатика
  • Автор: marycherrycloud2007
  • Вопрос задан 2 года назад

ПОМОГИТЕ С ИНФОРМАЬИКОЙ УМОЛЯЮ


напишите программу в с++ с <iostream>!!!
Напишите программу, которая принимает от пользователя номер месяца и сообщает время года, к которому этот месяц относится.  Если номер месяца неправильный, то должно быть выведено "Ошибка".  Задача должна быть решена с использованием оператора switch.​

Ответы

Ответ дал: MaxLevs
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;
  • }
Приложения:
Вас заинтересует