Schleifen für Dummies :)



  • Ich bin neu am c++ lernen und arbeite mich durch mein buch...
    ich bin an der stelle angekommen wo man Schleifen lernt.
    Das was ich gelernt hab (oder was ich dachte gelernt zu haben) wollte ich in die Tat umsetzen.
    Ich soll eine Zahl eingeben von 1-10. Das Programm zählt dann von 10 bis 1 runter (es soll zeigen das es zählt).
    Bei der Zahl die ich eingegeben hab soll das Programm stoppen.
    so z.B soll es aussehen: ich gebe 7 ein
    dann soll es so angezeigt werden:
    ihre zahl lautet 10
    ihre zahl lautet 9
    ihre zahl lautet 8
    ihre zahl lautet 7 <-- hier stoppt er...

    #include <cstdio>
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    
        int eingabezahl;
        cout << "Geben sie eine zahl ein: ";
        cin  >> eingabezahl;
    
        for (int antw =11; antw > 0;)
        {
            antw = antw - 1;
            cout << "ihre zahl lautet:" << antw << "\n"
        if (antw == eingabezahl)
            {
            break;
            }
        }
    
        system("PAUSE");
        return 0; 
    }
    

    Was mach ich falsch? Dieser code wird wohl von vorne bis hinten falsch sein... wie müsste er aussehen? 🙂
    Falls es welche noch nicht wissen: ich bin 14 und ein anfänger 😃



  • #include <cstdio>
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    
        int eingabezahl;
        cout << "Geben sie eine zahl ein: ";
        cin  >> eingabezahl;
    
        if( eingabezahl > 10 ) {
           cerr << "Error ... bla bla" << endl;  
           return;
        }
    
        for( int i=10; i>=eingabezahl; --i) //HIER HAST DU DAS RUNTERZÄHLEN VERGESSEN --i oder i-- (ist zwar nicht identisch aber geht hier beides)
            cout << i << endl;
    

    //Edit: Ah moment. Hast du gar nicht vergessen! Dein Code ist doch richtig!!!!!! 😮 😮 😮 😮 😮 😮 😮



  • was ist denn cerr? 🙂



  • Kubilay20 schrieb:

    was ist denn cerr? 🙂

    Sowas wie cout nur auf dem Fehlerausgabekanal 😃
    c(onsole)err(or)
    c(onsole)out

    Aber meister, dein code ist doch korrekt!!!! 😃



  • ich kann es aber nicht kompilieren da kommt immer ne fehlermeldung ...



  • In Zeile 17 hast du nach "\n" das ; vergessen
    Aber die Fehlermeldung sollte das doch verraten! Zeig mal her



  • was soll ich her zeigen? 😃



  • das gibs doch nicht... du hast recht ich hab einfach das verdammte semikolon vergessen 😃 😃



  • Du solltest vll die Fehlermeldung zeigen, um dann zu sehen, wie einfach es gewesen wäre, wenn man die Fehlermeldung ma durchgelesen hätte 😛



  • das sind fehlermeldungen mit denen ich nix anfangen kann^^ wie z.B parse 😃
    naja problem gelöst ... dieses blöde semikolon 😃



  • yeah... !! Thread des Jahres! Und ich bin ihm im 2ten Anlauf auf die Spur gekommen! ... yeah

    Und wer braucht schon Compiler Meldungen 🙄 Ich mach immer

    make &>/dev/null && cat /dev/kristallkugel | grep Fehler > ~/c++/projekt



  • Pigeon schrieb:

    ...

    Ahja^^



  • "wie z.B parse"

    die fehlermeldung kann man zumindest einmal komplett durchlesen...

    Parsing Error... Find "XYZ" expected ';' oder so hätte dort gestanden, denk ich mal...
    Kannste gerne mal selbst nachgucken...

    @Pigeon
    😃

    bb



  • pigeon ist mit 2 punkten in führung^^
    bei meiner fehlermeldung steht nur parse 😃 ...so...
    vll. hab ich ja auch ein blöden compiler welcher ist denn gut?ich benutz Dev c++. achja noch ne frage... for schleifen sind ja so formatiert: for (initialasierung;Bedingung;inkrement)... wie bekomme ich in die abteilung initialasierung 2 variablen rein? und in die abteilung inkrement ebenfalls!



  • int i, j;
    for( i=0, j=0; bedingung; ++i, --j ) {}
    

    Dev C++ ist uralt. Nimm was besseres.
    Keine Ahnung was 😃 Mir reicht ein Compiler und vim ^^



  • da können jeweils durch kommata getrennte initialisierungen hin...
    außerdem muss am ende kein increment stehen... da kann nur ne zuweisung hin oder was auch immer man als sinnvoll erachtet : D

    bb



  • 3 zu 0 für pigeon!!!!!!!!!!! 😃
    welchen compiler??? sagen wir so welchen benutzt du?



  • unskilled schrieb:

    da können jeweils durch kommata getrennte initialisierungen hin...
    außerdem muss am ende kein increment stehen... da kann nur ne zuweisung hin oder was auch immer man als sinnvoll erachtet : D

    bb

    sowas zum beispiel geht auch

    for( ; true; )
    {
    }
    

    Du musst also nicht alles ausfüllen 😉 Sollte halt nur irgendwie Sinn ergeben 🤡

    //Edit: Compiler: gcc-4.1.2 🕶



  • danke ihr beide... seid ne super hilfe 👍 🤡
    /edit es gibt schon 4.4.0 🕶



  • HEY! FreakY<3Cpp hat auch was gesagt!!! 😡

    😉

    //Edit: Ja aber für Gentoo ist der noch nicht stable und da er noch kein C++0x voll kann gibts für mich keinen Grund den zu nehmen....



  • hab mich vertippt ich meinte euch drei 😉
    wie installiere ich den compiler???oder wo bekomme ich den her?


Anmelden zum Antworten