wieso geht das nicht??



  • hallo folgendes prob:

    //--- Part. Including ----------------------------------------------------------
    
     #include <iostream>
        using namespace std;
     #include <vector>
     #include <string>
    //==============================================================================
    
        class Person
        {
        public:
            Person();
            ~Person();
            void SetAngaben(string pname,string pnickname,string padress,int ptelnr,int page);
            void ShowAll();
    
        private:
            string name, nickname, adress;
            int telnr, age;
        };
    
        void Person::SetAngaben(string pname,string pnickname,string padress int ptelnr,int page)
        {
    
            this->name = pname;
            this->nickname = pnickname;
            this->adress = padress;
            this->telnr = telnr;
            this->age = page;
        }
    
        void ShowAll()
        {
            cout << "Ihre Angaben waren wie folgt:\n\n"
                 << "Name    : " << name << "\n"
                 << "Nickname: " << nickname << "\n"
                 << "Alter   : " << age << "\n"
                 << "Adresse : " << adress << "\n"
                 << "Telefon : " << telenr << "\n\n";
        }
    
        Person::Person() {}
        Person::~Pernon() {}
    
    main()
    {
        string in_name, in_nickname, in_adress;
        int in_telnr, in_age;
    
        cout << " Bitte geben Sie hier die folgenden Daten an! Danke :)\n\n";
        cout << " Ihren vollstaendigen Namen.        : "; cin >> in_name;
        cout << " Wie lautet ihr Spitzname?          : "; cin >> in_nickname;
        cout << " Wie alt sind Sie?                  : "; cin >> in_age;
        cout << " Geben Sie bitte ihre Anschrift an! : "; cin >> in_adress;
        cout << " Wie lautet ihre Telefonnummer?     : "; cin >> in_telnr;
        cout << "\n\n";
    
        SetAngaben(in_name,in_nickname,in_adress,in_telnr,in_age);
        ShowAll();
        cin.get();
    }
    

    in der zeile:

    void Person::SetAngaben(string pname,string pnickname,string padress int ptelnr,int page)
    

    meckert der compiler: " [C++ Error] Unit1.cpp(22): E2451 Undefined symbol 'string' " ... was kann ich tun ????



  • #include <iostream>
        using namespace std;
     #include <vector>
     #include <string>
    

    deswegen geht das net
    Wenn du schon "using namespace std;" verwendest muss das nach den ganzen includes sein.

    BR


  • Mod

    evilissimo schrieb:

    #include <iostream>
        using namespace std;
     #include <vector>
     #include <string>
    

    deswegen geht das net
    Wenn du schon "using namespace std;" verwendest muss das nach den ganzen includes sein.

    BR

    das sollte keine rolle spielen. die fehlernummer sagt mir auch nichts. ist das der borland compiler? der hat ja bekanntermaßen gewisse schwierigkeiten mit using. insofern hilft der rat ja evtl. standard C++ verlangt so etwas jedenfalls nicht. unter anderem auch in Herb Sutters More Exceptional C++, Item 39



  • jo ich prog mit C++ Borland Builder 6 Enterprise, danke!



  • hmm... is ja uebel.... auch wenn ich using namespace std; ans ende von include setze aendert das auch nichts.... und ich habs mal mit "CodeBlocks" zu compilieren versucht doch da bekomm ich nur noch mehr fehler angesagt(12stück). was geht da...-.-

    ps: :schland: Super gaMe weiter so!! 👍


  • Mod

    T0bi schrieb:

    hmm... is ja uebel.... auch wenn ich using namespace std; ans ende von include setze aendert das auch nichts.... und ich habs mal mit "CodeBlocks" zu compilieren versucht doch da bekomm ich nur noch mehr fehler angesagt(12stück). was geht da...-.-

    es sind ja auch mindestens 2 fehler drin:

    void Person::SetAngaben(string pname,string pnickname,string padress[b],/*komma vergessen*/[/b] int ptelnr,int page)
    
    [b]int[/b] main()
    

    dazu noch diverse tippfehler bei variablennamen. übrigens ist es address im englischen 😉



  • halloo.... wie mach ich des nun mit aus dem container von nen vector daten speichern (hoffe war richtig von moA formuliert)...

    also sieht nun alles so aus:

    //--- Part. Including ----------------------------------------------------------
    
     #include <iostream>
     #include <vector>
     #include <string>
     #include <fstream>
         using namespace std;
    //==============================================================================
    
        class person
        {
        public:
            void SetAngaben(string pname,string pnickname,string paddress,string ptelnr,string page);
            void ShowAll();
            person();
            ~person();
        private:
            string name, nickname, address, telnr, age;
        };
    
        void person::SetAngaben(string pname,string pnickname,string padress, string ptelnr,string page)
        {
    
            this->name = pname;
            this->nickname = pnickname;
            this->address = padress;
            this->telnr = ptelnr;
            this->age = page;
        }
    
        void person::ShowAll()
        {
            cout << "Ihre Angaben waren wie folgt:\n\n"
                 << "Name    : " << name << "\n"
                 << "Nickname: " << nickname << "\n"
                 << "Alter   : " << age << "\n"
                 << "Adresse : " << address << "\n"
                 << "Telefon : " << telnr << "\n\n";
                 cin.get();
        }
    
        person::person()
        {
        }
    
        person::~person()
        {
        }
    
    //--- Part. Save & Load Funktion -----------------------------------------------
    
     void Save()
     {
        vector <person> angaben;
    
            angaben.push_back();
    
            ofstream file("C:\\testen",ios::out|ios::app);
    
                file << "\n" << angaben.pop_back();
                close.file();
     }
    
    main()
    {
        string in_name, in_nickname, in_address, in_telnr, in_age;
    
        cout << " Bitte geben Sie hier die folgenden Daten an! Danke :)\n\n";
        cout << " Ihren vollstaendigen Namen         : "; getline(cin, in_name);
        cout << " Wie lautet ihr Spitzname?          : "; getline(cin, in_nickname);
        cout << " Wie alt sind Sie?                  : "; getline(cin, in_age);
        cout << " Geben Sie bitte ihre Anschrift an! : "; getline(cin, in_address);
        cout << " Wie lautet ihre Telefonnummer?     : "; getline(cin, in_telnr);
        cout << "\n\n";
    
        person pers;
        pers.SetAngaben(in_name,in_nickname,in_address,in_telnr,in_age);
        pers.ShowAll();
    
        Save();
        cout << "\n\n Angaben gespeichert! ";
    }
    

    ich weiss nicht wie ich des mit der Funktion "Save()" anstelle nun den termin zu saven... naja spaeter sollen erst mal wie mir beschrieben wurde, die ganzen daten eingeben und im vector lagern und dann alle nach einander speichern.... hmmm kann mir den nun mal einer helfen wies gemacht wird ????



  • void Save()
    {
        vector <person> angaben;
    
        angaben.push_back(); // Was soll hier rangehängt werden??
    
        ofstream file("C:\\testen",ios::out|ios::app);
        // ios::out nicht nötig, da ofstream
    
        file << "\n" << angaben.pop_back();
        close.file(); // Wenn schon andersrum: file.close(). Ist aber nicht notwendig:
                      // wird automatisch gemacht.
    }
    

    Einfach nur den Inhalt einer Klasse zu speichern, ist zwar möglich, aber nicht bei std::string, da er intern auch mit pointern arbeitet. Außerdem kann er ja unterschiedlich lang sein. Mein Tipp: Speicher alles immer Zeilen weise. Das sieht dann z.B. so aus:

    file << name << std::endl << nickname << std::endl << age.... usw.
    

    Zum einlesen benutzt du getline:

    std::getline(file, name); std::getline(file, nickname);...usw..
    

    halloo.... wie mach ich des nun mit aus dem container von nen vector daten speichern (hoffe war richtig von moA formuliert)...

    Sry hab dich nicht ganz verstanden, was willst du sagen?

    Achja: Bitte verwende die [ c p p ]-Tags und nicht die [ c o d e ] Tags. Dann wird alles nämlich schön bunt 😃

    mfg.



  • hmm... des mit dem einzelnt einlesen geht net... da meckert er wieder... "undefin blabla" .... whats to do?



  • T0bi schrieb:

    hmm... des mit dem einzelnt einlesen geht net... da meckert er wieder... "undefin blabla" .... whats to do?

    Gaaaanz wichtig! Das schreibst du dir jetzt auf und lernst es auswendig:

    - Source Code (der ohne Änderungen compilierbar ist) zeigen bei dem der Fehler auftritt
    - exakte Fehlermeldung die auftritt kopieren.

    Und dann kannst auch noch folgendes lesen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-136013.html

    mfg.



  • Gaaaanz wichtig! Das schreibst du dir jetzt auf und lernst es auswendig:

    - Source Code (der ohne Änderungen compilierbar ist) zeigen bei dem der Fehler auftritt
    - exakte Fehlermeldung die auftritt kopieren.

    Und dann kannst auch noch folgendes lesen: http://www.c-plusplus.net/forum/viewtopic-var-t-is-136013.html

    😃 👍

    Den Link sollte man in die FAQ setzen, wenn er noch nicht drin ist: http://www.lugbz.org/documents/smart-questions_de.html

    MFG winexec*


Anmelden zum Antworten