Das Programm läuft, aber ich kann nicht herausfinden, warum die Funktion innerhalb der dritten else if-Anweisung keinen genauen Wert zurückgibt. Danke für die Hilfe in
Fortschritt.Sonst, wenn Option 3 keine Antwort liefert ... was habe ich falsch gemacht?
finaltemp = newtemp(t, choice);
printf("\nThe converted temperature is: %f", finaltemp);
return(0);
}
double newtemp(double a, double b)
{
double result;
if (b==1)
{
result = (a-(273.15));
}
if (b==2)
{
result = (a+(273.15));
}
if (b==3)
{
result = (((5/9)*(a))-32);
}
if (b==4)
{
result = (((9/5)*(a))+32);
}
if (b==5)
{
result = (((9/5)*(a))-459.67);
}
if (b==6)
{
result = ((a+459.67)*(9/5));
}
return(result);
}
Wo ist "die dritte else if-Anweisung"? Ich sehe in deinem geposteten Code kein "sonst". – MikeCAT
@MikeCAT Ich formatierte es nicht richtig in der Post, so dass der 'else' Teil der Anweisung abgeschnitten wurde. Wie auch immer, der Fehler, den ich gemacht habe, war die Verwendung von Int-Division anstelle von Gleitkomma-Division. Danke für die Antwort. –