Программа должна переводить температуру в другие шкалы и шкалы выбирает юзер но что то не работает - C (СИ)
Формулировка задачи:
#include <stdio.h>
int main()
{
char inputType;
double vveditechislo;
double cel;
double far;
double kel;
printf("vvedi tip temperaturi\n");
printf("c\n");
printf("f\n");
printf("k\n");
scanf("%a",inputType);
switch(inputType)
{
case 1:
printf("vvedite cel\n");
scanf("%.3f" ,cel);
far = 1.8 * cel + 32;
kel = cel + 273;
printf("farengate %3.f\n", far);
printf("kel 3.%f\n",kel);
break;
case 2:
printf("vvedite far\n");
scanf("%.3f" ,kel);
cel = (far - 32)/1.8;
kel = cel +273;
printf("cel %3.f\n", cel);
printf("kel %3.f\n", kel);
break;
case 3:
printf("vvedite kel\n");
scanf("%3.f",& kel);
cel = kel - 273;
far = 1.8 * cel + 32;
printf("cel %3.f\n", cel);
printf("far %3.f\n", far);
break;
default:
printf("pishi to chto nujno\n");
}
return 0;
}Решение задачи: «Программа должна переводить температуру в другие шкалы и шкалы выбирает юзер но что то не работает»
textual
Листинг программы
#include <stdio.h>
#include <windows.h>
int main(void)
{
SetConsoleOutputCP(1251);
char unit;
float c=0.0, k=0.0, f=0.0;
printf("Введите из какой шкалы вы хотите перевести\nC\nF\nK\n");
scanf("%c", &unit);
switch(unit)
{
case 'c':
case 'C':
printf("Введите Цельс.\n");
scanf("%f", &c);
f = 1.8 * c + 32;
k = c + 273;
break;
case 'f':
case 'F':
printf("Введите Фар.\n");
scanf("%f", &f);
c = (f - 32)/1.8;
k = c +273;
break;
case 'k':
case 'K':
printf("Введите Кель.\n");
scanf("%f", &k);
c = k - 273;
f = 1.8 * c + 32;
break;
default:
printf("Введены неправильные значения\n");
return -1;
}
printf("Цельс. %f\n", c);
printf("Фаренг. %f\n", f);
printf("Кель. %f\n", k);
return 0;
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Устанавливается кодировка консоли на windows.h
- Создаются и инициализируются нулевые значения переменных c, k, f
- Выводится запрос на ввод шкалы перевода
- Считывается введенное значение шкалы в переменную unit
- Создается блок switch для выбора шкалы перевода
- В каждом case происходит запрос на ввод значения в выбранной шкале
- После ввода значения происходит перевод в другую шкалу и обновление значений переменных c, k, f
- В конце программы выводятся значения переменных c, k, f в выбранной шкале
- Если введено недопустимое значение шкалы, выводится сообщение об ошибке и программа завершается с кодом -1