Bitte um Hilfe.



  • Hallo zusammen ,
    ich bin C++ Anfänger und habe in meinem Quellcode einen oder mehrere Fehler. Ich benutze Dev-c++. Beim Kompilieren werden immer sofort mehrere Fehlermeldungen angezeigt. Ich kann aber ne Fehler nicht finden. Könnte mir von euch einer helfen?

    #include <iostream>
    #include <string.h>
    #include <stdlib.h>

    class iep {
    public:
    char matrikel[10];
    char nachname[32];
    char vorname[32];
    char v1[3];
    char v2[3];
    char v3[3];
    char ergebnis[3];
    void einlesen (char *matrikel,char *nachname, char *vorname,char *v1, char *v2, char *v3);
    void auswerten (void);
    void ausgeben (void);
    };

    int main(void)
    {
    iep stud1, stud2, stud3, stud4;
    char dummy;

    stud1.einlesen("20020001" ,"Schmidt","Anna","11","11","11");
    stud1.auswerten();
    stud1.ausgeben();

    stud2.einlesen("20020002" ,"Müller","Olaf","10","10","00");
    stud2.auswerten();
    stud2.ausgeben();

    stud3.einlesen("20020003" ,"Brzoska","Philipp","11","1u","1u");
    stud3.auswerten();
    stud3.ausgeben();

    stud4.einlesen("20020004" ,"Lostermann","Hendrik","00","00","00");
    stud4.auswerten();
    stud4.ausgeben();

    std::cout << "Programmende bei Tastendruck a.....z :" << endl;
    cin >> dummy;

    return 0;

    }

    void iep::einlesen(char *matrikel, char *nachname, char *vorname, char *v1, char *v3)

    {
    strcpy(iep::matrikel,matrikel);
    strcpy(iep::nachname,nachname);
    strcpy(iep::vorname,vorname);
    strcpy(iep::v1, v1);
    strcpy(iep::v2, v2);
    strcpy(iep::v3, v3);
    strcpy(iep::ergebnis, "00");
    }

    void iep::auswerten(void)
    {
    int v1, v2, v3;
    v1 = atoi(iep::v1);
    v2 = atoi(iep::v2);
    v3 = atoi(iep::v3);

    if ( (v1==11) && (v2==11) && v3==11))
    strcpy(iep::ergebnis, "OK");

    else if ( (v1==0) && (v2==0) && v3==0))
    strcpy(iep::ergebnis, "nt");

    else
    strcpy(iep::ergebnis, "nb");
    }

    void iep::ausgeben(void)
    {
    cout<< "Matrikel-Nr.: " << iep::matrikel <<endl;
    cout<< "Nachname: " << iep::nachname <<endl;
    cout<< "Vorname " << iep::vorname <<endl;
    cout<< "Versuch 1: " << iep::v1 <<endl;
    cout<< "Versuch 2:" << iep::v2 <<endl;
    cout<< "Versuch 3: " << iep::v3 <<endl;
    cout<< "Ergebnis: " << ergebnis <<endl<<endl;
    }

    Danke



  • Könntest du evtl. die Fehlermeldungen auch noch posten? Das wäre sehr hilfreich. 🙂
    Ich würde dir raten mit std::string statt mit char-Arrays zu arbeiten. Das macht das leben viel leichter.
    Nutze bitte auch die C++Tags hier im Forum.



  • Hallo,

    hab jetzt überall std::string für char geschrieben.

    Beim kompelieren erscheint folgende Fehlermeldung:

    In Zeile : std::cout << "Programmen..... In function 'int main()'



  • Das ist mit Sicherheit nicht die ganze Fehlermeldung.



  • Hier ein Teil der Fehlermeldungen.

    In function int main()': .cpp:40: error:endl' undeclared (first use this function)
    .cpp:40: error: (Each undeclared identifier is reported only once for each function it appears in.)
    .cpp: At global scope:
    .cpp:51: error: prototype for `void iep::einlesen(char*, char*, char*, char*, char*)' does not match any in class `iep'
    .cpp:14: error: candidate is: void iep::einlesen(char*, char*, char*, char*, char*, char*)



  • Bei endl fehlt das std:: (ist ja auch in diesem namespace).
    Der zweite Fehler
    Du hast iep::einlesen mit 5 Parametern deklariert aber mit 6 definiert. Das passt nicht.



  • oder mach ein
    "using namespace std;"

    an den anfang des source files.
    In headern sollte man using namespace klauseln vermeiden und lieber den komplett qualifizierten namen verwenden.


Anmelden zum Antworten