C++ Aufgabe Problem



  • #include <iostream>
    #include <string>
    #include "CTeam.h"
    
    using namespace std;
    
    CTeam::CTeam( string name = "NoName"){
    
        m_teamName = name;
    }
    
    string CTeam::getName(){
    
        return m_teamName;
    }
    
        unsigned int m_goalsScoredTotal = 0;
        unsigned int m_goalsReceivedTotal = 0;
        unsigned int m_winsTotal = 0;
        unsigned int m_equalTotal = 0;
        unsigned int m_lostTotal = 0;
    
    void CTeam::addResult( unsigned int goalsScored, unsigned int goalsReceived){
        if( goalsScored > goalsReceived){
    
            m_winsTotal++;
    
        }
    
        if( goalsReceived> goalsScored){
    
            m_lostTotal++;
    
            }
        if( goalsReceived == goalsScored){
               m_equalTotal++;
    
        }
    
    m_goalsScoredTotal += goalsScored;
    m_goalsReceivedTotal+= goalsReceived;
    
     };
    
     unsigned const CTeam:: getTotalPoints(){
    	  m_goalsScoredTotal = m_winsTotal*3+m_equalTotal*1 ;
    
    	 return m_goalsScoredTotal;
    
    };
    

    Leider wäre ich auf die Idee nicht selbst gekommen.

    Stimmt der code wenigstens jetzt?



  • info15 schrieb:

    Leider wäre ich auf die Idee nicht selbst gekommen.

    Da hilft nur eins: Weiter üben!

    info15 schrieb:

    Stimmt der code wenigstens jetzt?

    Fast. Deine getTotalPoints Funktion verändert jetzt den m_goalsScoredTotal Wert welcher gar nichts mit Punkten zu tun hat. Entweder erstellst du eine lokale Variable:

    unsigned int points = m_winsTotal*3+m_equalTotal*1;
    return points;
    

    Oder du kannst das Ergebnis auch direkt zurückgeben:

    return m_winsTotal*3+m_equalTotal*1;
    


  • Ah gut . Ich gebe zu das der letzte Teil ein wenig schwer für mich ist ,da ich mich mit überladenen Operatoren nicht auskenne.

    Ich weiss gar nicht wie man mit operatoren etwas ausgibt 😃

    Ich versuche mich da gerade ein wenig einzulesen .

    Aber ich würde gerne auch tips annehmen 😃



  • Kennst du einen gewissen "Hausi"?



  • Hausi? Kenne ich nicht.

    Ok ich versuche es selber hin zu bekommen



  • Ich habe einen versuch gestartet wenigstens .

    Funkioniert so die Ausgabe bei überladenen Operatoren

    bool CTeam::operator << (CTeam const& rop){
    
    	 cout<<"CTeam@" << "m_winsTotal"<< "Spiele gewonnen  " << " , " <<  "m_equalTotal" << " Spiele unentschieden"<< endl;
    
     };
    

    Ich hoffe ihr seid net böse falls das Quatsch ist 😃



  • operator overloading --> Stream extraction and insertion



  • info15 schrieb:

    bool CTeam::operator << (CTeam const& rop){
    
    	 cout<<"CTeam@" << "m_winsTotal"<< "Spiele gewonnen  " << " , " <<  "m_equalTotal" << " Spiele unentschieden"<< endl;
    
     };
    

    Rätsts Du sowas?
    Was sollen immer die ganzen leeren Zeilen?
    Hast Du einen Compiler und schaust Dir mal die Ergebnisse an?



  • Du suchst evtl einfach eine print-Funktion.

    void CTeam::print(){
    
    	 cout<<"CTeam@" << "m_winsTotal"<< "Spiele gewonnen  " << " , " <<  "m_equalTotal" << " Spiele unentschieden"<< '\n';
     };
    




  • Ehrlich gesagt .

    Jetzt bin ich ganz verwirrt wie ich die Ausgabe darstellen kann .

    Vielleicht kann jemand einfach ein Beispiel posten und ich kann es darauf anwenden. 😕


Anmelden zum Antworten