Lösung zur Übung 2 , Funktion ReadFloat, Version 1 - Quelltext


/*
  Die Funktion ReadFloat liest einen float-Wert ein
  und liefert diesen als Resultat.
  Wenn sich ein Eingabefehler ereignet, wird das Programm
  mit dem Fehlercode 1 beendet.
  Export: float-Resultat = eingegebener Wert
*/
float ReadFloat (void)
{
 float Temp; /* temporaere Variable */
 int gelesen; /* Variable fuer das Resultat von scanf */
 char dummy; /* Pseudovariable zur Fehlererkennung */
 /* Eingabe einlesen und auf Eignung pruefen */
 gelesen = scanf("%f%c",&Temp,&dummy);
 #ifdef Test
  printf("\n%d Eingabefelder gelesen und abgespeichert:\n",gelesen);
  printf("Zahl: %f ; Zeichencode: %d\n",Temp,dummy);
 #endif
 if (gelesen!=2 || dummy!=Key_LF) exit(1); /* Eingabe ungeeignet */
 return Temp; /* Eingabe geeignet */
}

Hinweis:

Die Zeilen von #ifdef Test bis #endif einschließlich können wegfallen, sobald die Eignung dieser Funktion sicher feststeht.

=> zur Sachanalyse => zum Struktogramm => zur Liste der Lösungsvorschläge Übung 2

zusammengestellt von G. Eichelsdörfer