Нужна помощь по програмированнию на C++. Прошу без if.Имя входного файла стандартный вводИмя выходного файла стандартный выводОграничение по времени 2 секундыОграничение по памяти 64 мегабайтаПо правилам этикета при приветствии «Доброе утро» говорят только с 8:00 до 10:59, «Добрый день» — с 11:00 до 17:59, «Добрый вечер» — с 18:00 и до 22:59.Вам дан номер текущего часа h. Требуется вывести1, если нужно сказать «Доброе утро»;2, если нужно сказать «Добрый день»;3, если нужно сказать «Добрый вечер».Формат входных данныхС клавиатуры вводится целое число h (8≤h≤22).Формат выходных данныхТребуется вывести 1, 2 или 3, в зависимости от времени суток.Примервход. данные выход. данные9----------------------------112---------------------------220--------------------------3

2 Сен 2019 в 16:41
331 +1
1
Ответы
1
#include <iostream>
int main() {
int h;
std::cin >> h;
if (h >= 8 && h <= 10) {
std::cout << 1;
} else if (h >= 11 && h <= 17) {
std::cout << 2;
} else {
std::cout << 3;
}
return 0;
}

Приведенный выше код использует конструкцию if-else для решения данной задачи. Если вы не хотите использовать if, то можно реализовать это с помощью оператора switch:

#include <iostream>
int main() {
int h;
std::cin >> h;
switch(h) {
case 8:
case 9:
case 10:
std::cout << 1;
break;
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
std::cout << 2;
break;
default:
std::cout << 3;
break;
}
return 0;
}

Этот код решает задачу без использования оператора if, но с использованием оператора switch.

20 Апр 2024 в 05:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир