Изменить программу, чтобы использовался множественный выбор switch - C (СИ)
Формулировка задачи:
#includeint main(void) { int temp; system("cls"); printf("введите шкалу: "); scanf("%d", &temp); if(temp < 0) printf("Неверный ввод попробуйте ещё раз!"); if((temp >= 0) && (temp <= 10)) printf("Невысокая!"); else if((temp >= 11) && (temp <= 25)) printf("Средняя!"); else if((temp >= 26) && (temp <= 50)) printf("Ввысокая!"); else if((temp >= 51) && (temp <= 100)) printf("Очень высокая!"); else if(temp > 100) printf("Революционная!"); getch(); }
Решение задачи: «Изменить программу, чтобы использовался множественный выбор switch»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <limits.h>
#define TRUE 1
#define FALSE 0
typedef enum __temperature
{
ERROR=INT_MIN,Small=0,Mid=10,High=26,OverHigh=50,Revolution=101
} Temperature;
int main(void)
{
int temp;
system("chcp 1251");
system("cls");
printf("введите шкалу: ");
scanf("%d", &temp);
int check_work = TRUE;
while(check_work)
switch(temp)
{
case ERROR:
printf("Неверный ввод попробуйте ещё раз!");
check_work=FALSE;
break;
case Small:
printf("Невысокая!");
check_work=FALSE;
break;
case Mid:
printf("Средняя!");
check_work=FALSE;
break;
case High:
printf("Ввысокая!");
check_work=FALSE;
break;
case OverHigh:
printf("Очень высокая!");
check_work=FALSE;
break;
case Revolution:
printf("Революционная!");
check_work=FALSE;
break;
default:
temp--;
}
getch();
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется тип данных для переменной температуры
- Задается значение по умолчанию для переменной температуры
- Выводится приглашение для ввода шкалы температуры
- Считывается значение переменной температуры
- Инициализируется флаг проверки работы программы
- Запускается цикл проверки работы программы
- В случае ошибки, выводится сообщение об ошибке и флаг проверки работы программы меняется на FALSE
- В случае значения по умолчанию, выводится сообщение об ошибке и флаг проверки работы программы меняется на FALSE
- В случае значения Revolution, выводится сообщение
Революционная!и флаг проверки работы программы меняется на FALSE - В случае значения OverHigh, выводится сообщение
Очень высокая!и флаг проверки работы программы меняется на FALSE - В случае значения High, выводится сообщение
Высокая!и флаг проверки работы программы меняется на FALSE - В случае значения Mid, выводится сообщение
Средняя!и флаг проверки работы программы меняется на FALSE - В случае значения Small, выводится сообщение
Невысокая!и флаг проверки работы программы меняется на FALSE - В случае значения 0, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE - В случае значения 1, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE - В случае значения 10, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE - В случае значения 26, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE - В случае значения 50, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE - В случае значения 101, выводится сообщение
Неверный ввод попробуйте ещё раз!и флаг проверки работы программы меняется на FALSE