Доработка программы, нужно что бы после того как юзер введет вместо числа что то другое вылезала ошибка - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <windows.h> int main(void) { SetConsoleOutputCP(1251); char unit; float Celsius=0.0, Kelvin=0.0, Fahrenheit=0.0; printf("Введите из какой шкалы вы хотите перевести\nЦельсии\nФаренгейты\nКельвина\n"); scanf("%c", &unit); switch(unit) { case 'C': case 'c': case '1': printf("Введите Цельс.\n"); scanf("%f",&Celsius); Fahrenheit = 1.8 * Celsius + 32; Kelvin = Celsius +273; break; case '2': case 'f': case 'F': printf("Введите Фар.\n"); scanf("%f",&Fahrenheit); Celsius = (Fahrenheit - 32)/1.8; Kelvin = Celsius + 273; break; case 'K': case 'k': case '3': printf("Введите Кель\n"); scanf("%f",&Kelvin); Celsius = Kelvin - 273; Fahrenheit = 1.8 * Celsius + 32; break; default: printf("Введены неправильные значения\n"); return -1; } printf("Цельс. %f\n", Celsius); printf("Фаренг. %f\n", Fahrenheit); printf("Кель. %f\n", Kelvin); return 0; }
Решение задачи: «Доработка программы, нужно что бы после того как юзер введет вместо числа что то другое вылезала ошибка»
textual
Листинг программы
#include <stdio.h> #include <windows.h> int main(void) { SetConsoleOutputCP(1251); char unit = '\0'; float Celsius = 0.0, Kelvin = 0.0, Fahrenheit = 0.0; puts("Введите из какой шкалы вы хотите перевести\n 1. Цельсии\n 2. Фаренгейты\n 3. Кельвина\n"); scanf("%c", &unit); switch(unit) { case 'C': case 'c': case '1': { while(1) { puts("Введите Цельс: "); if(!scanf("%f", &Celsius)) { fflush(stdin); puts("Ошибка ввода. Повторите попытку...\n\n"); } else break; } Fahrenheit = 1.8 * Celsius + 32; Kelvin = Celsius +273; break; } case '2': case 'f': case 'F': { while(1) { puts("Введите Фар: "); if (!scanf("%f", &Fahrenheit)) { fflush(stdin); puts("Ошибка ввода. Повторите попытку...\n\n"); } else break; } Celsius = (Fahrenheit - 32)/1.8; Kelvin = Celsius + 273; break; } case 'K': case 'k': case '3': { while(1) { puts("Введите Кел: "); if (!scanf("%f", &Kelvin)) { fflush(stdin); puts("Ошибка ввода. Повторите попытку...\n\n"); } else break; } Celsius = Kelvin - 273; Fahrenheit = 1.8 * Celsius + 32; break; } default: { puts("Введены неправильные значения\n"); return -1; } } printf("Цельс. %f\n", Celsius); printf("Фаренг. %f\n", Fahrenheit); printf("Кель. %f\n", Kelvin); return 0; }
Объяснение кода листинга программы
- Ввод значения температуры в требуемой шкале
- Проверка корректности ввода значения температуры
- Перевод температуры из одной шкалы в другую
- Вывод значений температуры в каждой шкале
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д