Zahlen einlesen und ausgeben



  • Hallo,

    ich habe hier eine Hausaufgabe:

    Schreiben Sie ein Programm, das eine Integer-Zahl von der Tastatur einliest und
    das zugehörigen ASCII-Zeichen und den Zahlenwert als Dezimalzahl auf dem Bildschirm ausgibt. Das Einlesen soll solange wiederholt werden, bis die Zahl „0“ eingegeben wird.

    main()
    {
          int zahl;
          zahl = 1;
          while(zahl >0)
          {
           printf("\nZahl (HEX) eingeben: ");
           scanf("%X", &zahl);         
           printf("\nASCII: %c \nDezimal: %d\n", zahl, zahl);
          }
          while(1);
    }
    

    ist das richtig? Also es funkioniert ja, aber kann man das evtl besser schreiben?

    Gruß juniorcrew



  • int main(void)
    {
         int zahl;
         do
    	 {
           printf("\nZahl (HEX) eingeben: ");
           scanf("%X", &zahl);        
           printf("\nASCII: %c \nDezimal: %d\n", zahl, zahl);
          }while(zahl != 0);
    	  return 0;
    }
    


  • Hmmmm,...

    wo ist der unterschied zwischen diesen beiden schleifenarten?

    Gruß Sven



  • juniorcrew schrieb:

    wo ist der unterschied zwischen diesen beiden schleifenarten?

    Die while -Schleife ist eine sog. kopfgesteuerte Schleife, d.h. die Bedingung wird vor dem Eintreten in den Block geprüft -> man kommt nicht zwangsläufig in den Block hinein.

    Die do-while Schleife ist eine sog. fußgesteuerte Schleife, d.h. die Bedingung wird erst am Ende des Blocks geprüft -> die Schleife wird IMMER mindestens 1 Mal durchlaufen.

    Gez. monstermunchkin


Anmelden zum Antworten