#include <stdio.h>
//function prototypes
const double fiveNinths = 5/9;
int toCelsius(double value)
{
return ((value - 32) * (fiveNinths));
}
int toFarenheit(double value)
{
return (value * 1.8) + 32;
}
int main (void)
{
int intValue, menuSelect;
double results;
intValue = 1;
while (intValue > 0)
{
printf("enter a positive integer: \n");
scanf("%d", &intValue);
if (intValue > 0)
{
printf("Enter 1 to convert to Farenheit, enter 2 to convert to Celsius: \n");
scanf("%d", &menuSelect);
if (menuSelect == 1)
{
results = toFarenheit(intValue);
printf("%d degrees to Farenheit is %d\n", intValue, results);
}
else if (menuSelect == 2)
{
results = toCelsius(intValue);
printf("%d degrees to Celsius is %d\n", intValue, results);
}
else
{
printf("invalid menu item, please input only 1 or 2\n");
}
}
}
return 0;
}
Я не могу понять, почему значение my toCelsius всегда возвращает 0. Функция toFarenheit работает нормально. Кроме того, эта программа заканчивается тем, что пользователь вводит отрицательное целочисленное значение; это часть домашнего задания, поэтому не обращайте внимания на эту часть.Моя функция возвращает 0 вместо фактического вычисленного возвращаемого значения?
Прочтите, как обеспечить [mcve]. В вашем вопросе отсутствуют какие-либо значения ввода/вывода для поддержки вашего требования. – user694733
Пожалуйста, правильно отформатируйте свой код. –
Подсказка: что такое 5/9 в C? –