Не работает функция конвертации "Фаренгейт -> Цельсий и Кельвин" - C (СИ)
Формулировка задачи:
Всем привет!
Не судите строго за вопрос, недавно начал учить язык.
Данная программа должна считать введенные значение градуса по Фаренгейту и отображать эквивалентные значения градусов по Цельсии и Кельвину но, когда я вызываю функцию (Temperture) и передаю ей введенные значение (f), то функция должна вычислять значение и отображать на экране результат программы. Но она вычисляет без переданного ей значения (f).
(то что я ввел 50 не читает, и вычисляет без него) в чем ошибка? надеюсь поняли меня
Вот пример:
Введите значение температуры по Фаренгейту
50
По Фаренгейту = 0,00
По Цельсии = -17,78
По Кельвину = 255,38
#include <stdio.h>
void Temperature(double Temp_F);
int main(void)
{
setlocale(0,"");
double f;
printf("Введите значение температуры по Фаренгейту \n");
while (scanf("%f", &f) == 1)
{
Temperature(f);
printf("Введите следующие данные\n");
}
printf("Good!!!");
return 0;
}
void Temperature(double Temp_F)
{
const double FORM_C = 0.5555555555;
const double FORM_C2 = 32.0;
const double FORM_K = 273.16;
double temp_C, temp_K;
temp_C = FORM_C * (Temp_F - FORM_C2);
temp_K = temp_C + FORM_K;
printf("По Фаренгейту = %.2f\n", Temp_F);
printf("По Цельсии = %.2f\n", temp_C);
printf("По Кельвину = %.2f\n", temp_K);
}Решение задачи: «Не работает функция конвертации "Фаренгейт -> Цельсий и Кельвин"»
textual
Листинг программы
while (scanf("%f", &f) == 1)
Объяснение кода листинга программы
- Вводится температура в градусах Фаренгейта с помощью функции scanf.
- Температура сохраняется в переменной f.
- Производится проверка, что ввод был успешным, т.е. scanf вернул 1.
- Если ввод был успешным, то выполняется следующая итерация цикла, иначе цикл завершается.