Programmieren – die besten Beiträge

In C: Celsius in Fahrenheit?

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;
}
Temperatur, programmieren, Informatik

Meistgelesene Beiträge zum Thema Programmieren