Brauche Hilfe bei meinem Programm, unerklärliche Fehlermeldung



  • Ohhhh ich Idiot THX ^^, so ein einfacher Fehler .

    Danke dir.

    EDIT: Wau geil jetzt bekomm ich 20 Neue Fehler ^^



  • Hallo

    void main ist zumindest fragwürdig.
    ; am Ende der Klasse sehe ich auch nicht.

    chrische



  • Die ganzen Methodendefinitionen sollten doch sicher außerhalb der Klassendeklaration stehen und nicht im Inneren (auf Deutsch - da fehlt das }; nach der Deklaration "void anzeige();", und außerdem das {, mit dem die main()-Funktion eingeleitet werden soll).



  • chrische5 schrieb:

    void main ist zumindest fragwürdig.

    Wieso, gegen eine Funktion main in der Klasse schueler ist garnichts einzuwenden. Nur dass sie nicht der Haupteinsprungspunkt ist 😃

    ad 20 Fehler: Die Funktion main hat keinen Körper!



  • Ahhhh danke 😃 ,
    Habs voll übersehen
    THX



  • #include <iostream> 
    using namespace std; 
    
    class schueler 
    { 
    private: 
        char vname[20]; 
        char nname[20]; 
        int punkte; 
        int klausuren; 
        double note; 
        double ermittle_note();    //Private Elementfunktion 
    public: 
        void eingabe(); 
        void anzeige(); 
        double schueler::ermittle_note() 
        { 
            return float (punkte) / klausuren; 
        } 
    
        void schueler::eingeben() 
            { 
                cout << "Vorname :"; 
                cin >> vname; 
                cout << "Nachnahme :"; 
                cin >> nname; 
                cout << "Gesamte Punkte :"; 
                cin >> punkte; 
                cout << "Anzahl Klausuren :"; 
                cin >> klausuren; 
                cout << "\n"; 
    
                note = ermittle_note(); 
            } 
    
        void schueler::anzeigen() 
            { //Daten eingeben 
                cout << "\n" << vname << " " << nname << "\n"; 
                cout << "Punkte: " << punkte << "\n"; 
                cout << "Klausuren:" << klausuren << "\n"; 
                cout << "\n"; 
            } 
    
    };
    
    void main(void){  //Hauptprogramm 
    
        schueler schueler01,schueler02; 
    
        schueler01.eingeben(); 
        schueler02.eingeben(); 
        schueler01.anzeigen(); 
        schueler02.anzeigen(); 
    
        cout << "\nProgramm beenden.\n"; 
    }
    


  • So jetzt bekomm ich nur noch die Fehlermeldung:

    1>c:\dokumente und einstellungen\dennis smits\eigene dateien\schule\programmieren\neu\neu\neu.cpp(55) : fatal error C1075: Dateiende erreicht, bevor das zugehörige Element für das linke Element Klammer "{" in "c:\dokumente und einstellungen\dennis smits\eigene dateien\schule\programmieren\neu\neu\neu.cpp(5)" gefunden wurde
    

    Erledigt Fehler gefunden.
    THX für eure Hilfe.



  • @Boris: Entweder du definierst die drei Methoden inline (also direkt bei der Deklaration), dann brauchst du die Angabe "schueler::" (und die alleinstehenden Methoden-Prototypen) nicht - oder du definierst sie außerhalb der Klasse:

    class schueler
    {
      ...//bis hierher wie oben
      void anzeige();
    };
    
    double schueler::ermittle_note()
    {
      return (float)punkte / kurse;//btw, was soll der "Umweg" über float?
    }
    ...
    


  • #include <iostream>
    using namespace std;
    
    class schueler
    {
    private:
        char vname[20];
        char nname[20];
        int punkte;
        int klausuren;
        double note;
        double ermittle_note();    //Private Elementfunktion
    public:
        void eingeben();
        void anzeigen();
    };
        double schueler::ermittle_note()
        {
            return float (punkte) / klausuren;
        }
    
        void schueler::eingeben()
            {
                cout << "Vorname :";
                cin >> vname;
                cout << "Nachnahme :";
                cin >> nname;
                cout << "Gesamte Punkte :";
                cin >> punkte;
                cout << "Anzahl Klausuren :";
                cin >> klausuren;
                cout << "\n";
    
                note = ermittle_note();
            }
    
        void schueler::anzeigen()
            { //Daten eingeben
                cout << "\n" << vname << " " << nname << "\n";
                cout << "Punkte: " << punkte << "\n";
                cout << "Klausuren:" << klausuren << "\n";
                cout << "\n";
            }
    
    int main(int argc, char ** argv){  //Hauptprogramm
    
        schueler schueler01,schueler02;
    
        schueler01.eingeben();
        schueler02.eingeben();
        schueler01.anzeigen();
        schueler02.anzeigen();
    
        cout << "\nProgramm beenden.\n";
    	return 0;
    }
    

    Jetz vielleicht noch ans Ende der main irgendwas, dass du kurz siehst, was gemacht wird und läuft



  • Nero91 schrieb:

    So jetzt bekomm ich nur noch die Fehlermeldung:

    1>c:\dokumente und einstellungen\dennis smits\eigene dateien\schule\programmieren\neu\neu\neu.cpp(55) : fatal error C1075: Dateiende erreicht, bevor das zugehörige Element für das linke Element Klammer "{" in "c:\dokumente und einstellungen\dennis smits\eigene dateien\schule\programmieren\neu\neu\neu.cpp(5)" gefunden wurde
    

    Erledigt Fehler gefunden.
    THX für eure Hilfe.

    du braucht nicht immer den ganzen pfad mit deinem namen posten, nur die fehlermeldung reicht.


Anmelden zum Antworten