einfaches prog mach was es will



  • also ich hab n teil von nem prog der einfach nicht funktionieren will 😞

    **#include <iostream.h>

    main()
    {
    int i = 26;
    int a = 0;
    while(i>=10)
    {
    i= i / 10;
    a = a + 1;
    cout << a;
    }
    cin.get();
    }
    **
    und als a wird nur 1 augegeben
    dann ist das prog zu ende
    wie kann das sein? weil eigendlich müsste es doch auch 2 ausgeben weil es ja 2 mal die schleife durchlaufen muss oder?
    schonmal danke für eure antworten 🙂



  • Nein, wieso? 26 / 10 = 2. Und deine Abbruchbedingung ist i >= 10.



  • Zuersteinmal: wenn du schon die [b]-Tags gefunden hast, warum nutzt du nicht gleich die [cpp]-Tags?

    Dann zu deinerm Problem:

    vor dem ersten Durchlauf:
    a = 0; i =26; i>=10: true

    Schleife =>
    i = 26/10 = 2;
    a = 0 + 1 = 1;
    Ausgabe: 1

    vor dem zweiten durchlauf:
    a =1; i =2; i>=10: false

    es gibt keinen zweiten durchlauf, Ende aus.

    PS: schau dich im C++-Buch deiner Wahl mal nach den Operatoren += und /= um 🙂



  • Randbemerkung: Wo hast du eigentlich C++ gelernt? Es heißt "int main()" und "<iostream>".

    (und sfds)


Anmelden zum Antworten