Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Implementierungsproblem » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (5): [1] 2 3 nächste » ... letzte » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Implementierungsproblem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Kevin33
unregistriert
Implementierungsproblem Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Habe folgende Methode implementiert

Implementieren Sie die Methode addResult(). Der erste Parameter enthält die eigenen Tore, der zweite Parameter die Gegentore. Wenn die Anzahl der eigenen Tore größer ist als die Anzahl der Gegentore, wird das das Attribut m_winsTotal um 1 erhöht, bei mehr Gegentoren als eigenen Toren das Attribut m_lostTotal und bei gleich vielen Toren das Attribut m_equalTotal. Die übergebenen Parameterwerte werden außerdem im jeweiligen Attribut für die Gesamtzahl der eigenen Tore bzw. der Gegentore aufsummiert.

Ich bekomme folgende Fehler leider nicht weg?
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


Header:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
#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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
#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;
			}

}





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?
21.10.2017 18:14
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das ist ja schon wieder alles völlig falsch, syntaktisch so wie so, aber offenbar hast Du auch wieder die ganze Logik nicht verstanden. Das wird so wirklich nie was!

Gruß
Marco
22.10.2017 03:51 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wieso ?
Ist meine If Bedingung falsch ?
Ich habe mit this auf das Objekt gegriffen und will dann beide vergleichen ?

Oder soll ich nur das m_ vor der Variablenweg lassen ?

Also ich werde jetzt auch keine 100 mal mehr nachfragen .
So macht es dann auch wirklich kein Sinn
22.10.2017 10:04
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo!

Beantworte mir doch bitte mal diese Frage: Warum nimmst Du nicht ein Buch und lernst es wirklich. Du hast in sämtlichen Foren jetzt wirklich schon viel Zeit vergeudet durch Dein Posten, ohne dass Du irgendwie voran gekommen bist. Hättest Du die Zeit in wirkliches Lernen investiert, indem Du das gemacht hättest, was alle hier und in anderen Foren immer wieder gesagt haben: "Nimm Dir ein Buch!", dann wärst Du in der selben Zeit schon deutlich weiter! Warum tust Du selbst das an? Warum verschwendest Du so Deine Zeit, obwohl Du es von jedem gesagt bekommst.
Ich kann das nicht verstehen...

Trotzdem kurz zur Aufgabe, obwohl doch schon alles im Aufgabentext steht:
Du sollst die Tore und Gegentore natürlich immer aufsummieren, also egal ob gewonnen oder verloren, ist doch erstens auch so im Aufgabentext gesagt und ja wohl auch logisch: Wenn ich 3:2 gewinne, muss ich doch trotzdem die 2 Gegentore bei den Gesamtgegentoren aufaddieren, obwohl ich gewonnen habe. Schalte doch auch einfach mal das Gehirn ein!

Aufsummieren macht man mit "variable += addistionswert;". "variable += 1" zählt die Variable nur um 1 hoch entsprechend. Für das um eins-hoch-zählen ist "variable++" eine Abkürzung. Du willst bei einem gewonnen Spiel die entsprechende Variable eins hoch zählen, aber die Tore/Gegentore doch wohl nicht nur um 1 sondern um die entsprechende Anzahl von Toren/Gegentoren und zwar immer. Überlege Dir doch endlich auch mal, was Du überhaupt tuen sollst, was das alles ergeben soll, für was, etc.

Du hast immer noch nicht verstanden, was "Membervariablen" oder "Felder einer Klasse" sind und was lokale Variablen, etc. sind, was sie bedeuten und wie sie zu verwenden sind. Das kann ich Dir hier doch nicht erklären, das ist ein fundamentaler Teil von C++ (und den meisten anderen Programmiersprachen). Genau dafür gibt es Bücher, die solche Dinge erklären. Soll ich hier für Dich jetzt anfangen ein Buch zu schreiben???

Dann so Standard-Syntax-Sachen. Wie sieht die Signatur für ein "call by const reference aus"? Su schreibst ja const, & und rop in jeder erdenklichen Reihenfolge und wunderst Dich, dass es nicht geht... Geschweige denn, dass Du nicht die blasseste Ahnung hast, was es überhaupt bedeutet (-> das findest Du in einem Buch!)

Dann kommen auch noch so Fehler dazu, dass Du zweimal den Operator << überladen willst, obwohl in Deinem Aufgabentext einmal operator<< und einmal operator< steht (ja, es ist ein großer Unterschied, ob es der Vergleichsoperator "kleiner" oder der Stream-Operator "<<" sein soll!!!). Also noch nicht mal abschreiben klappt bei Dir.

Wir können Dir da nicht weiter helfen außer den Ratschlag: Nimm ein Buch und fange endlich an, das wirklich zu lernen und höre auf, Deine Zeit (und die vieler anderer, scheint Dir ja aber egal zu sein!) zu vergeuden!

Gruß
Marco
22.10.2017 13:13 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Kevin33
Wieso ?
Ist meine If Bedingung falsch ?
Ich habe mit this auf das Objekt gegriffen und will dann beide vergleichen ?

Oder soll ich nur das m_ vor der Variablenweg lassen ?

Ja, das ist einer der vielen Fehler: Was willst Du denn vergleichen? Die bisher aufsummierten Tore und Gegentore oder die Tore und Gegentore des neuen Spiels? Wann ist ein Spiel gewonnen? Wenn die es mehr Tore als Gegentore bisher in der Saison gab oder wenn es mehr Tore als Gegentore im aktuellen Spiel gab?
Denk doch mal nach, was Du überhaupt machst, was ist denn die Membervariable mit dem m_ vorne dran, auf die Du mit this zugreifen willst? Warum überhaupt this (das brauchst Du normalerweise nicht, wenn Du in einer Methode auf eine Membervariable zugreifen willst!) Mit dem "->" ist es hier sogar komplett falsch.
Also schon diese if-Vergleiche sind syntaktisch falsch (wegen dem "->"), sind semantisch falsch (Du vergleichst die bisherige Summe von Toren/Gegentoren und nicht die des aktuellen Spiels) und zeigt, dass Du mal wieder nicht im Geringsten verstanden hast, um was es überhaupt geht. So ist es aber in jeder einzelnen Zeile! Was soll Dir da irgendjemand helfen können?

Stell Dir doch mal vor wie das so bei Ligaspielen ist. Bist Du Fussballfan oder irgendein anderer Sport vielleicht?
Da gibt es doch die "Tordifferenz" und so weiter. In den Tabellen wird doch auch immer aufgelistet, wieviele Spiele bisher in der Saison gewonnen, verloren und unentschieden gespielt wurden und wieviele Tore die Mannschaft gemacht hat und wieviele sie bekommen hat.
Wie würdest Du das machen, wenn Du so was in einem Programm verfolgen wolltest? Du würdest verschiedene Zähler anlegen. Für die Anzahl gewonnener, verlorener und unentschiedener Spiele und für die Summe von Treffern und Gegentreffern jeweils noch einen.
Nach jedem Spiel würdest Du die Zähler anpassen.
Beschreibe mir doch jetzt mal in eigenen Worten, was Du mit welchem Zähler machen müsstest, nachdem ein Spiel gespielt wurde. Was würdest Du machen bei 3:2, was bei 1:2, was bei 2:2, was bei 0:0? Alle solche Fälle musst Du in dieser Funktion korrekt behandeln. Das ist doch jetzt wirklich nicht schwer!
22.10.2017 13:25 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ich weiss ,dass das noch nicht komplett korrekt ist aber:

Brauche ich eigentlich auch eine for Schleife ?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:

void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){

	unsigned int goalsScored =0;   wieso hier Fehlermeld ? Wollte das es bei 0 beginnt?
	unsigned int goalsReceived = 0; In Header definieren?
	if(goalsScored>goalsReceived ){

		m_winsTotal += 1;

	}
	if(goalsScored<goalsReceived ){

			m_lostTotal += 1;

		}
	if(m_goalsScoredTotal==m_goalsReceivedTotal ){

				m_equalTotal += 1;
			}

}

22.10.2017 13:43
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Aber müsste ich in der if bedingung auch nicht noch zusätzlich mit&& einbauen , das

m_goalsScoredTotal> m_goalsReceivedTotal ?
22.10.2017 13:48
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn Du fragst, warum Du da eine Fehlermeldung bekommst, dann zeigt das nur, dass Du wirklich absolut gar nichts verstanden hast. Weder auch nur die essentialsten Grundlagen einer imperativen Programmiersprache noch die Grundidee, die diese Aufgabe umsetzen soll, obwohl die mit Programmieren nichts zu tun hat und jedem sofort einleuchten sollte.
Ich kann Dir da nicht weiter helfen, außer, wie so oft, auf Bücher, Mitschüler/-Studenten, Lehrer/Dozenten, etc zu verweisen. Alles was Du bisher hier und in anderen Foren getan hast ist komplette Zeitverschwendung.

Außerdem bist Du auf keine einzige meiner Fragen eingegangen. Warum sollte ich was schreiben, das Du offenbar so wie so nicht liest?
22.10.2017 13:53 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich dachte dass ich deine Worte in meinem Code umgewandelt habe großes Grinsen q

Naja ok . Ich habe halt sau schwierigkeiten mit dem programmieren .
22.10.2017 13:59
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Kevin33
Naja ok . Ich habe halt sau schwierigkeiten mit dem programmieren .

Diesen Quatsch erzählst Du immer wieder. In Wahrheit ist das Dein geringstes Problem bzw. nur eine Folge davon, dass Du einfach nicht machst, was Dir gesagt wird. Du hast immer nocsh kein Buch gelesen!

Wo habe ich gesagt, dass Du die Übergabe Parameter in die Methode gleich am Anfang nochmal deklarieren solltest und dann auch noch mit 0 belegen sollst??? Das ist doch in jeder Hinsicht völliger Blödsinn! Das hat doch mit "Schwierigkeiten beim Programmieren" absolut nichts zu tun! (Außer dass man, wenn man gar nix kapiert, natürlich auch nicht programmieren kann...).

Wenn diser Kurs Teil einer wie auch immer gearteten Ausbildung ist, dann mein Rat: Lass es sein. Du bringst offensichtlich nicht die minimalsten Voraussetzungen daüfr mit!

Gruß
Marco
22.10.2017 14:34 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:

/* 
 * 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; 
            } 
  
}






Ich weiß nicht ob es jetzt Quatsch ist oder nicht ?

Ich habe die Aufgabe so gelöst
22.10.2017 14:48
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, ist falsch.
Erkläre mir doch mal: Wann ist ein Spiel gewonnen? Was vergleichst Du dafür? welchen Variablen entsprechen die Werte, die Du vergleichen würdest?
Gib mir bitte erstmal eine direkte Antwort!
22.10.2017 15:13 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was ist eigentlich aus dem Aufsummieren der Tore/Gegentore geworden? Sollen die sich von alleine addieren???
22.10.2017 15:14 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Kevin33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ein Spiel ist gewonnen wenn die Gegentore größer sind als die enthaltenen Tore .

Ich dachte zuerst das man nur goalsReceived und goalsScored vergleichen sollte ?

Aufsummieren habe ich doch mit +=1 gemacht . Dachte ich zumindest
22.10.2017 15:17
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Kevin33
Ein Spiel ist gewonnen wenn die Gegentore größer sind als die enthaltenen Tore .

Wohl gerade andersrum, oder?
Zitat:
Original von Kevin33
Ich dachte zuerst das man nur goalsReceived und goalsScored vergleichen sollte ?

das hast Du aber nie gemacht! Immer noch irgendwas mit den total-Zeugs verglichen! Warum sollten die bisherigen aufsummierten Tore/Gegentore denn irgendeine Relevanz für die Entscheidung spielen, ob das aktuelle Spiel gewonnen oder verloren ist?
Zitat:
Original von Kevin33
Aufsummieren habe ich doch mit +=1 gemacht . Dachte ich zumindest

Nein, das summiert eben nicht auf (hab oben schon erklärt warum) Du hast es auf die Übergabeparameter für die aktuellen Tore/Gegentore angewandt und nicht auf die Summe (...Total...) und Du hast nur das jeweils eine zu addieren versucht, je nachdem ob gewonnen oder verloren wurde. Ich meine, noch viel falscher geht ja gar nicht mehr und mit programmieren können oder nicht hat das nix zu tun, sondern nur mit komplettem Unverständnis auf allen Ebenen!
22.10.2017 15:32 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Seiten (5): [1] 2 3 nächste » ... letzte » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Implementierungsproblem