Функция преобразования температуры из Фаренгейт в Цельсий - C (СИ)
Формулировка задачи:
Прошу помочь разобраться в проблеме, возникающей при компилляции данной программы.
Компиллятор выдает следующее:
/tmp/ccXxcQfe.o: In function `main':
functfc.c.text+0x30): undefined reference to `convertion'
collect2: error: 'ld' returned 1 exit status
#include <stdio.h>
#define lower 0 //нижний температурный предел
#define upper 300 // верхний температурный предел
#define step 1 // шаг
int convertion(int); // функция перевода из градусов фаренгейта в градусы цельсия
int main()
{
int fahr;
printf("fahr celcius");
putchar('\n');
for (fahr = lower; fahr < upper; fahr = fahr + step) // цикл вывода таблицы
{ printf("%3d %6d", fahr, convertion(fahr));
putchar('\n');
}
/* функция перевода температура из из градусов фаренгейта в градусы цельсия */
int convertion(a)
{
return (5*(a-32)/9);
}
}Решение задачи: «Функция преобразования температуры из Фаренгейт в Цельсий»
textual
Листинг программы
#include <stdio.h>
#define lower 0 //нижний температурный предел
#define upper 300 // верхний температурный предел
#define step 1 // шаг
int convertion(int); // функция перевода из градусов фаренгейта в градусы цельсия
int main()
{
int fahr;
printf("fahr celcius");
putchar('\n');
for (fahr = lower; fahr < upper; fahr = fahr + step) // цикл вывода таблицы
{ printf("%3d %6d", fahr, convertion(fahr));
putchar('\n');
}
return 0;
}
/* функция перевода температура из из градусов фаренгейта в градусы цельсия */
int convertion(int a)
{
return (5*(a-32)/9);
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных (stdio.h).
- Определение констант: — lower — нижний температурный предел в шкале Фаренгейта. — upper — верхний температурный предел в шкале Фаренгейта. — step — шаг изменения температуры в шкале Фаренгейта.
- Объявление функции convertion, которая будет выполнять перевод температуры из шкалы Фаренгейта в шкалу Цельсия.
- В функции main создается переменная fahr типа int для хранения значения температуры в шкале Фаренгейта.
- Вывод шапки таблицы с названиями температурных шкал.
- Запуск цикла for, который будет выполнять вывод значений температуры в шкале Фаренгейта и их перевод в шкалу Цельсия.
- Внутри цикла выполняется вызов функции convertion с переданным значением переменной fahr.
- Результат перевода сохраняется в переменной convertion и выводится на экран.
- Цикл завершается, когда значение переменной fahr достигает верхнего температурного предела.
- Возврат 0 в функции main, что означает успешное выполнение программы.
- В функции convertion выполняется перевод температуры из шкалы Фаренгейта в шкалу Цельсия.
- Для этого выполняется умножение значения разности a и 32 на 5 и деление на 9.
- Результат сохраняется в переменной a.
- Возврат значения переменной a в функцию main.