Перевести программу под оператор switch() - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> int main() { int x; do { printf("Введите время в часах (0 - 23): "); scanf("%d", &x); }while (x < 0 || x > 23); if (x >= 4 && x <= 9) printf("Утро\n"); else if (x >= 10 && x <= 17) printf("День\n"); else if (x >= 18 && x <= 22) printf("Вечер\n"); else printf("Ночь\n"); getch(); return 0; }
Решение задачи: «Перевести программу под оператор switch()»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int x; do { printf("Введите время в часах (0 - 23): "); scanf("%d", &x); } while (x < 0 || x > 23); switch (x) { case 4: case 5: case 6: case 7: case 8: case 9: printf("Утро\n"); break; case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: printf("День\n"); break; case 18: case 19: case 20: case 21: case 22: printf("Вечер\n"); break; default: printf("Ночь\n"); break; } fflush (stdin); getchar(); return 0; }
Объяснение кода листинга программы
- В коде определена переменная
x
типаint
. - В цикле
do-while
пользователю предлагается ввести время в часах от 0 до 23. - Если введенное значение меньше 0 или больше 23, то программа повторно запрашивает ввод.
- В операторе
switch
проверяется значение переменнойx
. - Если значение
x
находится в диапазоне от 4 до 9, то выводится сообщениеУтро
. - Если значение
x
находится в диапазоне от 10 до 17, то выводится сообщениеДень
. - Если значение
x
находится в диапазоне от 18 до 22, то выводится сообщениеВечер
. - Если значение
x
не попадает ни в один из указанных диапазонов, то выводится сообщениеНочь
. - В конце программы происходит очистка буфера ввода с помощью
fflush (stdin)
, затем считывается символ с помощьюgetchar()
, чтобы программа не закрылась сразу после вывода сообщения. - Программа возвращает 0, что означает успешное завершение работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д