Datei: area3.c


    1   /*
    2    *      area3.c
    3    *      Flaechenberechnung, Eingabefunktion
    4    *      klin, Thu Nov  4 13:42:34 1999
    5    */
    6   
    7   #include <stdio.h>
    8   
    9   float get_len(char *);
   10   
   11   /* Hauptfunktion/-prozedur              */
   12   void main(void)
   13   {
   14     /* Daten ---------------------------- */
   15     float a, b;   /* Seiten 1 und 2       */
   16     float A;      /* Flaeche              */
   17   
   18     /* Algorithmus ---------------------- */  
   19     /* Seite 1 einlesen                   */
   20     a = get_len("Bitte 1. Seite eingeben");
   21     
   22     /* Seite 2 einlesen                   */
   23     b = get_len("Bitte 2. Seite eingeben");
   24   
   25     /* Flaeche berechnen                  */  
   26     A = a * b;
   27   
   28     /* Flaeche ausgeben                   */  
   29     printf("Seiten: %f %f -> Flaeche: %f\n", a, b, A);
   30   
   31   } /* main() */
   32   
   33   /* Laenge (float) einlesen und liefern  */
   34   float get_len(char *msg)
   35   { 
   36     char s[256];
   37     float l;
   38     int i, ok;
   39   
   40     /* Seite > 0.0 einlesen               */  
   41     do {
   42       l = 0.0;
   43       printf("%s: ", msg);
   44       gets(s);
   45       if(check_float(s)) {
   46         sscanf(s, "%f", &l);
   47         if(l <= 0.0) {
   48   	printf("!!! Zahl zu klein! Bitte Zahl > 0.0 eingeben!\n\n");
   49         }
   50       }
   51       else {
   52         printf("!!! Falsche Eingabe! Bitte wiederholen!\n\n");
   53       }
   54     } while (l <= 0.0);
   55     
   56     /* Laenge liefern                     */
   57     return(l);  
   58   
   59   } /* get_len() */
   60   
   61   /* String zeichenweise pruefen          */
   62   int check_float(char *s)
   63   {
   64     int i;
   65     
   66     for(i = 0; s[i] != '\0'; i++) {
   67       if( !(s[i] == '.' || (s[i] >= '0' && s[i] <= '9'))) {
   68         return(0);
   69       }
   70     }
   71     return(1);
   72     
   73   } /* check_float() */


Erzeugt von c2html 1.01