do while Schleife beenden mit return



  • Hallo zusammen,

    hab nen kleines Problem mit ner Schleife. Die Schleife soll so lange laufen, bis als Eingabe die Returntaste kommt. Hier mal das Programm so wie ich meine, das es richtig ist:

    main()
          {
    
          int zahl = 0;
    
          do
          {
          printf("\n Bitte eine Zahl eingeben: ");
          scanf("%d", &zahl);
    
          if(zahl<10)
          {
                     printf("\n %d < 10",zahl);
          }
          else if (zahl<100)
          {
               printf("\n %d < 100",zahl);
          }
          else
          {
              printf("\n %d >= 100",zahl);
          } 
          }while(zahl != '10');
    
          printf("\n\n\n\n\n\n\n");
          system("PAUSE");
    
          }
    

    Vielleicht hat ja jemand ne schnelle Lösung 😃



  • nun, soll sie jetzt so lange dauern, bis du ne zahl hast die Zahl 10 ist oder bis du return hast?



  • #include <stdio.h>
    #include <stdlib.h>
    
    main()
          {
         	int zahl;
          char szInput [256];
    
          do {
    			printf("\n Bitte eine Zahl eingeben: ");
    
    			fgets ( szInput, 256, stdin );
    			zahl = atoi (szInput);
    
       		if(zahl<10){
             	printf("\n %d < 10",zahl);
    			} else if(zahl<100) {
         			printf("\n %d < 100",zahl);
    			} else {
        			printf("\n %d >= 100",zahl);
    			}			
          }while(szInput[0] != 10);
    
          printf("\n\n\n\n\n\n\n");
          getchar();
    
    }
    


  • rate mal, wie oft das programm in diesem zweig hier landet:

    else if (zahl<100)

    😉



  • logician schrieb:

    rate mal, wie oft das programm in diesem zweig hier landet:

    else if (zahl<100)

    😉

    Bitte?
    Falls 'zahl' kleiner wie 10 ist, dann wird es 'printf("\n %d < 10",zahl);' ausgeben. Danach 'springt' es aus der if-Abfrage raus, da die erste Bedingung erfüllt wurde.

    Das Programm landet bei der von dir genannten Abfrage nur dann, wenn 'zahl' 10 oder größer ist.

    Grüße.


Anmelden zum Antworten