Problem mit Funkion: error: too few arguments to function



  • hi,
    ich bräuchte wiedermal hilfe. komme nicht weiter.
    es kommt ständig der fehler "too few arguments to function"...
    bitte um hilfe zum weiterkommen...
    aufgabenstellung: schreiben sie eine funktion, in der die eingabe der teilnehmerdaten realisiert werden. dazu muss immer ein element aus dem teilnehmerfeld an die funktion übergeben werden. schreiben sie eine weitere funktion, die die teilnehmerdaten ausgibt.
    meiner meinung nach habe ich das getann und es müsste eigentlich funktionieren...

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    struct teilnehmer_s
    {
           string name;
           string stamm;
           int alter;
           float gewicht;
           };
    
    void Eingabe(teilnehmer_s &p)
        {
         cout<<"Bitte geben Sie den Namen ein: ";
         cin>> p.name;
         cout<<"Bitte geben Sie den Stamm ein: ";
         cin>> p.stamm;
         cout<<"Bitte geben Sie das Alter in Jahren an: ";
         cin>> p.alter;
         cout<<"Bitte geben Sie das Gewicht in kg an: ";
         cin>> p.gewicht;
         }
    
    void Ausgabe(teilnehmer_s &p)
    {    
          cout<<p.name<<", "<<p.alter<<" Jahre, Gewicht: "<<p.gewicht<<" kg aus dem Stamme der "<<p.stamm<<endl<<endl;; 
                 }
    int main()
    {
        Eingabe();
        Ausgabe();
    
        cin.get();cin.get();
        return 0;
    }
    


  • int main()
    {
        teilnehmer_s ich;
        Eingabe(ich);
        Ausgabe(ich);
    
        cin.get();cin.get();
        return 0;
    }
    


  • vielen vielen dank!
    hab mir schon seit über ner stunde den schädel zerbrochen um den fehler zu finden.



  • noch mal ne frage:
    wo könnt ich dort ne schleife einbauen, um mehrere abfragen hinter einander zu tätigen? also bei mehreren mitgliedern so zusagen...
    hab versucht ne for-schleife in die eingabe-funktion einzubauen, er fragt auch mehrmals ab, gibt dann aber nur die letzten einträge aus...
    ich hoffe ihr versteht mein problem!



  • Vielleicht sowas:

    #include <vector>
    
    int main()
    {
        vector<teilnehmer_s> leute;
        for(int i=0;i<10;++i)
        {
            teilnehmer_s ich;
            Eingabe(ich);
            leute.push_back(ich);
        }
    
        for(int i=0;i<leute.size();++i)
            Ausgabe(leute[i]);
    
        cin.get();cin.get();
        return 0;
    }
    


  • wunderbar vielen dank.
    das klappt dann. nur verstehen muss ich das noch... 🙂



  • cool, das ist ja gar nicht mal so schwer, nochmal vielen dank, habt mir sehr weiter geholfen.
    Hier nun die Gesamtlösung:

    #include <iostream>
    #include <iomanip>
    #include <vector>
    using namespace std;
    
    struct teilnehmer_s
    {
           string name;
           string stamm;
           int alter;
           float gewicht;
           };
    
    void Eingabe(teilnehmer_s &p)
        {
         cout<<"Bitte geben Sie den Namen ein: ";
         cin>> p.name;
         cout<<"Bitte geben Sie den Stamm ein: ";
         cin>> p.stamm;
         cout<<"Bitte geben Sie das Alter in Jahren an: ";
         cin>> p.alter;
         cout<<"Bitte geben Sie das Gewicht in kg an: ";
         cin>> p.gewicht;
         }
    
    void Ausgabe(teilnehmer_s &p)
    {    
          cout<<p.name<<", "<<p.alter<<" Jahre, Gewicht: "<<p.gewicht
          <<" kg, aus dem Stamme der "<<p.stamm<<endl<<endl;; 
                 }
    
    int main() 
    { 
        vector<teilnehmer_s> leute; 
        for(int i=0; i<2; i++) 
        { 
            teilnehmer_s list; 
            Eingabe(list); 
            leute.push_back(list); 
        } 
    
        for(int i=0;i<leute.size();++i) 
            Ausgabe(leute[i]); 
    
        cin.get();cin.get(); 
        return 0; 
    }
    

Log in to reply