Moin,
ich habe ein Programm geschrieben, welches Celsius in Fahrenheit umrechnet. Jedoch bekomme ich nicht die richtigen Ergebnisse, da ich ja rein theoretisch die Ergebnisse der Rechnung (Formel für Umrechnung: Temp(in Celsius) * 9/5 + 32 in einer float-Variable speichern müsste, oder?
Hier meine Header:
#ifndef TEMPERATURE
#define TEMPERATURE
#define MAX_LENGTH 10
#define converter(c)((c * (9 / 5)) + 32)
double output_temperatures(double temp[]);
int string_length(double temp[]);
double widening(double temp2[]);
/* double appendix(double temp3[], temp4[]); */
#endif
Hier meine Funktionen:
#include "aufgabe2930b.h"
#include <stdio.h>
double output_temperatures(double temp[])
{
int i;
printf("Temperaturen in Fahrenheit: ");
for (i = 0; i < string_length(temp); ++i) {
if (temp[i] <= 100 && temp[i] >= -273.15) {
printf("%f ", converter(temp[i]));
}
else {
printf("Falsche Eingabe! ");
break;
}
}
printf("\n");
return 0;
}
int string_length(double temp[])
{
int i = 0;
int length = 0;
while (temp[i] != '\0') {
++length;
++i;
}
return length;
}
double widening(double temp[])
{
int i = 0;
while (i < MAX_LENGTH - 1) {
if (temp[i] == '\0') {
printf("Bitte anzuhängende Temperatur eingeben: ");
scanf("%lf", &temp[i]);
temp[i + 1] = '\0';
break;
}
else {
++i;
}
}
for (i = 0 ; i < string_length(temp); ++i) {
if (temp[i] <= 100 && temp[i] >= -273.15) {
printf("%f ", converter(temp[i]));
}
else {
printf("Falsche Eingabe! ");
break;
}
}
return 0;
}
Hier meine main:
#include <stdio.h>
#include "aufgabe2930b.h"
int main(void)
{
double temp[MAX_LENGTH] = { 1, 2 };
output_temperatures(temp);
widening(temp);
return 0;
}