Syntax Error und keine Idee wieso



  • Also ich lerne jetzt C++ erst seit ner Woche also pls lacht mich net aus wenn der Code irgendwie komisch geschrieben ist oder so 😃

    #include <iostream.h>
    void main()
    {
    int anzahlDerMuenzen;
    
    cout<<"Mit wievielen Muenzen fangen wir an? " ;
    cin>>anzahlDerMuenzen;
    
    int zugMensch(int anzahlDerMuenzen)
    {                                            <-------- Line 10
    int ergebnis;
    cout<<"Jetzt liegen "<<anzahlDerMuenzen<<" Muenzen auf dem Tisch."<<endl;
    cout<<"Wieviele moechten Sie nehmen? ";
    cin>>ergebnis;
    return ergebnis;
    
    int zugRechner(int anzahlDerMuenzen)
    {                                             
    int wunschZug=anzahlDerMuenzen%4;
    if(wunschZug==0)
    wunschZug=1;
    cout<<"Der Computer nimmt "<<wunschZug<<" Muenze(n)"<<endl;
    return wunschZug;
    };
    }
    while(true)
    {
    
    anzahlDerMuenzen=anzahlDerMuenzen-zugRechner(anzahlDerMuenzen);
    if(anzahlDerMuenzen==0)
    {ich
    cout<<"Ich habe gewonnen!"<<endl;
    return;
    };
    anzahlDerMuenzen=anzahlDerMuenzen-zugMensch(anzahlDerMuenzen);
    if(anzahlDerMuenzen==0)
    {
    cout<<"Sie haben gewonnen!"<<endl;
    return;
    };
    };
    };
    

    Mein Compiler (Borland) meldet mir n Syntax Fehler in Zeile 10.
    Decleration syntax error in Funktion main <> , um genau zu sein.

    Bitte helft mir *g* ich bin verzweifelt.

    mfg Convention



  • In C++ sind Funktionen in Funktionen nicht erlaubt.



  • Warum hast Du Deine Funktionen denn so eigenartig verschachtelt?

    Das gehört so:

    int foo()
    {
        // gaaanz viel code
    }
    
    void bar(const FooBar& foobar)
    {
        // auch viel code
    }
    
    // und so weiter...
    


  • Warum hast Du Deine Funktionen denn so eigenartig verschachtelt?

    Das ist mein erster Code mit über 12 Lines 🙄 das wird schneller unübersichtlicher als man denkt



  • int zugMensch(int anzahlDerMuenzen)
    {
    int ergebnis;
    cout<<"Jetzt liegen "<<anzahlDerMuenzen<<" Muenzen auf dem
    Tisch."<<endl;
    cout<<"Wieviele moechten Sie nehmen? ";
    cin>>ergebnis;
    return ergebnis;
    };
    

    Also das ist jetzt ide Funktion nochmal seperat rausgenommen.
    Wo müsste die hier dnen jetzt reingemacht werden *g* ?

    #include <iostream.h>
    void main()
    {
    int anzahlDerMuenzen;
    
    cout<<"Mit wievielen Muenzen fangen wir an? " ;
    cin>>anzahlDerMuenzen;
    while(true)
    {
    anzahlDerMuenzen=anzahlDerMuenzen-zugRechner(anzahlDerMuenzen);
    if(anzahlDerMuenzen==0)
    {
    cout<<"Ich habe gewonnen!"<<endl;
    return;
    };
    anzahlDerMuenzen=anzahlDerMuenzen-zugMensch(anzahlDerMuenzen);
    if(anzahlDerMuenzen==0)
    {
    cout<<"Sie haben gewonnen!"<<endl;
    return;
    };
    };
    };
    


  • Unübersichtlichkeit kommt auch von den langen Variablennamen.



  • Rücke Deinen Code mal ein und verwende kürzere Variablennamen, dann wird sicher jemand Deinen Code auch lesen wollen, momentan ist das einfach zu mühsam, sorry! 😉

    edit: Ach ja, main gibt int zurück und <iostream.h> ist seit ungefähr dreihunderttausend Jahren falsch und sollte durch <iostream> und darauffolgendes "using namespace std;" ersetzt werden.



  • Die Variablennamen sind nicht wirklich lang.



  • ...... schrieb:

    Die Variablennamen sind nicht wirklich lang.

    Sie sind so lange dass sie die Lesbarkeit des Programms vermindern und somit zu lang.

    anzahlDerMuenzen ist doch ein scheußlicher Name für einen einfachen Zähler!


Anmelden zum Antworten