Compiler fehler bei eclipse



  • Hallo alle zusammen , ich weiss das ihr nicht gerne bei Aufgaben Probleme hilft ,daher poste ich nur meinen Code wo ich paar Fehlermeldungen nicht weg bekomme .
    Kann mir jemand da helfen ?
    Ich werde allerdings keine fragen zur Aufgabe stellen.

    #ifndef CTEAM_H_
    #define CTEAM_H_
    #include<iostream>
    using namespace std;
    #include<string>
    
    class CTeam{
    private:
    	string m_teamName;
    	unsigned int m_winsTotal=0;
    	unsigned int m_lostTotal =0;
    	unsigned int m_equalTotal= 0;
    	unsigned int m_goalsScoredTotal = 0;
    	unsigned int m_goalsReceivedTotal=0;
    
    public:
    	CTeam(string name = "NoName");
    	string getName;
    	void addResult(unsigned int goalsScored,unsigned int goalsReceived);
    	unsigned int const getTotalPoints();
    	friend ostream& operator <<(ostream& out,CTeam const& rop);
    	bool operator << (const& CTeam rop);
    
    };
    ostream& operator <<(ostream& out,CTeam const& rop);
    

    cpp

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

    Description Resource Path Location Type
    expected ',' or '...' before 'rop' CTeam.h /CTeam line 29 C/C++ Problem
    no 'std::__cxx11::string CTeam::getName()' member function declared in class 'CTeam' CTeam.cpp /CTeam line 17 C/C++ Problem
    control reaches end of non-void function [-Wreturn-type] CLottoTicket.cpp /CTIP line 60 C/C++ Problem
    No return, in function returning non-void CLottoTicket.cpp /CTIP line 35 Code Analysis Problem
    suggest parentheses around assignment used as truth value [-Wparentheses] CLottoTicket.cpp /CTIP line 43 C/C++ Problem

    Danke



  • unsigned int m_winsTotal=0;
    

    Member so zu initialisieren geht erst ab C++11, wenn du die Compiler-Flags nicht angibst, bekommst du Compiler-Fehler.

    string getName;
    

    () fehlen, ist ja eine Methode, oder?

    bool operator << (const& CTeam rop);
    

    Was ist das?



  • Ich muss euch wohl jetzt wohl oder übel die Aufgabe posten 😃

    https://www.pic-upload.de/view-34141573/r1.png.html

    https://www.pic-upload.de/view-34141574/r2.png.html
    Member so zu initialisieren geht erst ab C++11, wenn du die Compiler-Flags nicht angibst, bekommst du Compiler-Fehler.
    Im UML Diagramm steht es aber so ,siehe Aufgabe.
    Aber diese Aufgabe muss ich sowieso nicht abgeben ,aber ich weiss ihr wollt trotzdem net helfen.

    #include<iostream>
    using namespace std;
    #include<string>
    
    class CTeam{
    private:
    	string m_teamName;
    	unsigned int m_winsTotal=0;
    	unsigned int m_lostTotal =0;
    	unsigned int m_equalTotal= 0;
    	unsigned int m_goalsScoredTotal = 0;
    	unsigned int m_goalsReceivedTotal=0;
    
    public:
    	CTeam(string name = "NoName");
    	string getName();
    	void addResult(unsigned int goalsScored,unsigned int goalsReceived);
    	unsigned int const getTotalPoints();
    	friend ostream& operator <<(ostream& out,CTeam const& rop);
    	bool operator< (const& CTeam rop);  Fehler angezeigt Warum?
    
    };
    ostream& operator <<(ostream& out,CTeam const& rop);
    
    #endif /* CTEAM_H_ */
    

    Description Resource Path Location Type
    expected ',' or '...' before 'rop' CTeam.h /CTeam line 29 C/C++ Problem
    control reaches end of non-void function [-Wreturn-type] CLottoTicket.cpp /CTIP line 60 C/C++ Problem
    No return, in function returning non-void CLottoTicket.cpp /CTIP line 35 Code Analysis Problem
    suggest parentheses around assignment used as truth value [-Wparentheses] CLottoTicket.cpp /CTIP line 43 C/C++ Problem

    Die übergebenen Parameterwerte werden außerdem im jeweiligen Attribut für die Gesamtzahl der eigenen Tore bzw. der Gegentore aufsummiert.

    War hiermit einfach das gemeint:

    goalsScored ++;

    Und für den anderen Fall das andere?
    Ich habe nichts so ganz verstanden ,was die hier von mir wollen 😃



  • baby33 schrieb:

    Ich habe nichts so ganz verstanden ,was die hier von mir wollen 😃

    Und ich würde gerne wissen, was dies für ein ominöser Kurs ist, dessen Übungen im Moment die Runde machen? Ist das irgendwie ein Test, die diversen Foren abzuklopfen?



  • Nein . Ich hatte auf die Frage von pur nur geantwortet , weil er nicht verstanden hatte wie ich auf die Header komme.

    Ich wollte eigentlich auch die Aufgabe wie oben geschrieben nicht posten .

    Ich wollte auch keine Hilfe haben von euch beim lösen der Aufgabe .

    Wer keine Lust hat zu helfen bitte hier nicht antworten .

    Ich wollte nur die Fehlermeldung weg haben , mehr nicht .



  • Wie sieht dein aktueller Code aus?
    Welche Entwicklungsumgebung nutzt du?



  • Ich nutze eclipse und mein Code und Implementierung sieht immer noch gleich aus.

    Die () habe ich eingebaut.

    Ist meine Implementierung auch falsch?



  • Habe meinen Fehler gemerkt und so versucht ,aber es gibt leider keine member Variable 😕

    [code="cpp"]void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){

    if(this->goalsScored>this->goalsReceived ){

    m_winsTotal += 1;

    }
    if(this->goalsScored<this->goalsReceived ){

    m_lostTotal += 1;

    }
    if(this->goalsScored==this->goalsReceived ){

    m_equalTotal += 1;
    }

    }



  • Baby33 schrieb:

    Ich wollte auch keine Hilfe haben von euch beim lösen der Aufgabe .

    Wer keine Lust hat zu helfen bitte hier nicht antworten .

    Ich wollte nur die Fehlermeldung weg haben , mehr nicht .

    Also wenn es nur um die Fehlermeldungen geht, kann ich aushelfen. Bezweifele aber, das dieser Code Sinn ergibt.

    #ifndef CTEAM_H_
    #define CTEAM_H_
    #include<iostream>
    using namespace std;
    #include<string>
    
    class CTeam{
    private:
        string m_teamName;
        unsigned int m_winsTotal=0;
        unsigned int m_lostTotal =0;
        unsigned int m_equalTotal= 0;
        unsigned int m_goalsScoredTotal = 0;
        unsigned int m_goalsReceivedTotal=0;
    
    public:
        CTeam(string name = "NoName");
        string getName();
        unsigned int goalsScored( unsigned int );
        unsigned int goalsReceived( unsigned int );
        unsigned int getTotalPoints( unsigned int ) const;
        void addResult();
        friend ostream& operator <<(ostream&,CTeam);
        bool operator << (const& CTeam);
    
    };
    ostream& operator <<(ostream& out,CTeam const& rop);
    
    #endif /* CTEAM_H_ */
    
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CTeam.h"
    
    CTeam::CTeam(string name )
    {
    
        m_teamName = name;
    }
    
    string CTeam::getName()
    {
        return m_teamName;
    
    }
    
    unsigned int CTeam::goalsScored( unsigned int v )
    {
        return v;
    }
    
    unsigned int CTeam::goalsReceived( unsigned int v)
    {
        return v;
    }
    
    unsigned int CTeam::getTotalPoints( unsigned int v ) const
    {
        return v;
    }
    
    void CTeam::addResult()
    {
    
        if(this->m_goalsScoredTotal>this->m_goalsReceivedTotal )
        {
    
            m_winsTotal += 1;
            goalsScored( m_winsTotal );
        }
        if(this->m_goalsScoredTotal<this->m_goalsReceivedTotal )
        {
    
            m_lostTotal += 1;
            goalsReceived( m_lostTotal );
        }
        if(this->m_goalsScoredTotal==this->m_goalsReceivedTotal )
        {
    
            m_equalTotal += 1;
        }
    
    }
    


  • Was machst du hier genau ? Bitte um Erklärung

    goalsReceived( m_lostTotal );
    


  • goalsReceived()
    

    ist eine Funktion, die einen unsigned int zurück gibt. Einfachshalber habe auch ein unsigned int übergeben und in Deiner Funktion den naheliegendsten Wert genommen. Es wird also ganz simpel m_lostTotal wieder zurück gegeben.



  • Ich weiss nicht was ihr jetzt denkt ,aber ich glaube ich habe die addresult Methode jetzt so richtig ?

    Passt es ?

    /*
     * CTeam.cpp
     *
     *  Created on: 21.10.2017
     *      Author: Medion
     */
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CTeam.h"
    
    CTeam::CTeam(string name ){
    
    	m_teamName = name;
    }
    
    std::string CTeam::getName(){
    	return m_teamName;
    
    	}
    
    void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){
    
    	if(goalsScored>goalsReceived &&  m_goalsScoredTotal>m_goalsReceivedTotal){
    
    		m_winsTotal += 1;
    
    	}
    	if(goalsScored<goalsReceived &&  m_goalsScoredTotal<m_goalsReceivedTotal  ){
    
    			m_lostTotal += 1;
    
    		}
    	if(m_goalsScoredTotal==m_goalsReceivedTotal && goalsScored== goalsReceived){
    
    				m_equalTotal += 1;
    			}
    
    }
    


  • Ist immerhin fehlerfrei.



  • 😃 Aber wie ist es mit der Logik ?
    Passt die auch ?
    Wenigstens ab und zu könnt ihr doch mal auch Tipps geben oder ?



  • Es wurden auch in den anderen Threads Tipps gegeben, als Ergebnis bist Du dann gekommen und meintest, da hier sowieso nichts passiert, soll gar nicht bei der Aufgabe geholfen werden, sondern wenigstens nur die Fehlermeldungen weg sein.

    So sehe ich das jedenfalls.



  • Na gut .

    Alles klar danke trotzdem .
    Wenigstens bei den Fehlern geholfen .



  • Wenn Euch die Sache zu hoch ist, dann schreibt doch erst mal nur ein paar kleine Funktionen, um die wenigstens zu beherrschen. Dann könnt Ihr ja ne kleine Klasse schreiben etc. Halt Sachen, die man selbst überlegt hat, damit man nicht da steht, was meint der denn jetzt mit dieser Aufgabe?



  • Ok alles Klar



  • Genau lemon . Er soll nur ein eigenes Programm machen und seine eigenen Übungsaufgaben gar nicht machen 😃
    Echt toller Vorschlag.
    Und wofür ist dann das Forum da ?



  • Wenn die Übungsaufgabe in Summe zu schwer ist, das ich nicht mal die Hinweise anderer verstehe (geht ja nicht nur um diesen Thread) würde ich einzelne Bereiche in kleine selbst gestellte Aufgaben aufteilen, bis ich diese beherrsche. Dann kann ich die Erkenntnisse zusammenfügen, bis die Aufgabe lösbar ist.

    Ich würds jedenfalls so machen. Ist kein Allgemeinrezept. Du kannst ja gerne anders an die Sache rangehen. Zeige es doch Baby33 und den anderen aus dem Kurs, wie man es macht.


Anmelden zum Antworten