C++ Anfängerfrage



  • Hallo,
    ich habe grade mit dem Lernen von C++ begonnen und habe eine kurze Frage.
    Als Aufgabe wurde mir die Fehlerkorrektur in den folgenden Programmen gestellt.

    Aufgabe 1:

    #include <iostream>
    using namespace std;
    
    int main()
    {
    cout << "Wo sind Sie? << endl;
    }
    

    Aufgabe 2:

    #include <iostream>
    
    int main()
    {
    int i
    
    for (i=0;i<10;i++);
    {
    cout << "Nächste Zahl:" << i endl;
    }
    

    Als Ergebnis für Aufgabe 1 habe ich folgende Korrektur

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    
    cout << "Wo sind Sie?“ << endl;
    
    return 0;
    }
    

    Bei Aufgabe 2 habe ich

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    int i
    
    for (int i=0;i<10;i++);
    {
    cout << "Nächste Zahl:" << i << endl;
    }
    
    return 0; 
    }
    

    würde mich freuen wenn jemand mit ein bisschen mehr Ahnung meine Lösungen angucken könnte und mir sagen kann ob soweit alles stimmt 👍
    MfG

    Edit v. Arcoth, Code-Tags


  • Mod

    Durch Syntaxhilighting kann man den Zweck von Aufgabe 1 leicht erkennen: Das String-Literal ist nirgends beendet worden, ein schließendes " fehlt. Das return-statement ist hingegen völlig überflüssig, in main (und **nur in main **!) wird nämlich implizit 0 zurückgegeben.

    In Aufgabe 2 hast du zwar einen semantischen und einen syntaktischen Fehler korrigiert, jedoch auch genau soviel (technisch gesehen sogar einen Semantischen mehr) stehen gelassen. Die restlichen Fehler können durch das Verschieben eines Zeichens gleichzeitig korrigiert werden. Findest du, welches?



  • Ein “ ist übrigens kein " 😉


  • Mod

    roflo schrieb:

    Ein “ ist übrigens kein " 😉

    FWIW, Chrome behandelt im Suchmodus beide gleich. Aber stimmt schon, sind zwei unterschiedliche Zeichen von denen nur eines angebracht ist.



  • hallo,
    erstmal danke für die schnelle Antwort. 😋
    ich denke das der Fehler nun behoben sein dürfte

    #include <iostream>

    using namespace std;

    int main()
    {
    int i ;

    for (int i=0;i<10;i++)
    {
    cout << "Nächste Zahl:" << i << endl;
    }

    return 0;
    }

    ist mein Ansatz richtig?
    MfG
    Ps: sorry für die Formation ich weiß nicht wie ich das richtig einfügen kann



  • Kompiliert es und laeuft es? Wenn ja, ist es schonmal nicht ganz falsch.

    Dann schau dir auf jeden Fall mal deine Variable an. Du hast naemlich in zwei Stellen "int i" stehen.

    Ausserdem ist noch das return 0 ueberfluessig und ich gehoere zu denen, die es unuebersichtlich finden, wenn main auch im Erfolgsfall explizit etwas zurueckgibt.


Log in to reply