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): « vorherige 1 [2] 3 4 nächste » ... letzte » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Implementierungsproblem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
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

hmm ok . Wieso soll man goalsreceived.total usw weg lassen ?
Ich dachte ,dass das auch zum Endergebnis sozusagen gehört

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:
void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){


	if(goalsScored>goalsReceived ){

		m_winsTotal = m_winsTotal + 1 ;


	}
	if(goalsScored<goalsReceived   ){

			m_lostTotal = m_lostTotal + 1;


		}
	if( goalsScored== goalsReceived){

				m_equalTotal= m_equalTotal +1;
			}

}





22.10.2017 15:49
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

Ich hab nicht gesagt, dass man das weglassen soll, wo liest Du das denn raus??? Ich habe nur gesagt, dass die beiden Werte nichts damit zu tun haben, ob das aktuelle Spiel gewonnen ist oder nicht!
Und was soll denn überhaupt goalsreceived.total sein???
Das hier
m_winsTotal = m_winsTotal + 1 ;
entspricht
m_winsTotal += 1;
was wiederum dem hier entspricht:
m_winsTotal++;
Alle diese Anweisungen zählen die Variable um eins hoch und das ist hier auch richtig.

Wenn Du aber die Gesamttore zählen willst, musst Du diese ja nicht um 1hoch zählen, sondern eben um die Anzahl der jeweils gefallenen Tore. Also nicht eine 1 addieren sondern den jeweiligen Zahlenwert. Verstehst Du den Unterschied oder ist selbst sowas triviales für Dich schon zu viel?
22.10.2017 16:08 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

Dann hatte ich dich wohl falsch verstanden .
Weil dauernd gesagt wird , ich hätte keinen Plan , dachte dass wäre falsch . Aber ok .

m_goalsReceivedTotal++; müsste ich nicht this. ...machen ?
Wieso soll ich überhaupt die Gesamtrore aufsummieren ? Wo steht das?

Ich dachte nur die Variablen die ich gemacht habe
22.10.2017 16:18
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:
void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){


    if(goalsScored>goalsReceived &&  m_goalsScoredTotal>m_goalsReceivedTotal){

        m_winsTotal += 1;
        m_winsTotal = m_winsTotal+m_goalsScoredTotal;


    }
    if(goalsScored<goalsReceived &&  m_goalsScoredTotal<m_goalsReceivedTotal  ){

            m_lostTotal += 1;
            m_lostTotal= m_lostTotal+m_goalsReceivedTotal;



        }
    if(m_goalsScoredTotal==m_goalsReceivedTotal && goalsScored== goalsReceived){

                m_equalTotal += 1;
            }

}


22.10.2017 17:13
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

m_goalsScoredTotal += goalsScored;

m_goalsReceivedTotal += goalsReceived;

Oder ist der letzten Aufgabenteil so gemeint ?
22.10.2017 17: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
m_goalsScoredTotal += goalsScored;

m_goalsReceivedTotal += goalsReceived;

Oder ist der letzten Aufgabenteil so gemeint ?

Ja, natürlich! Was denn sonst???
22.10.2017 19:27 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
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:
void CTeam::addResult(unsigned int goalsScored,unsigned int goalsReceived){


    if(goalsScored>goalsReceived &&  m_goalsScoredTotal>m_goalsReceivedTotal){

        m_winsTotal += 1;
        m_winsTotal = m_winsTotal+m_goalsScoredTotal;


    }
    if(goalsScored<goalsReceived &&  m_goalsScoredTotal<m_goalsReceivedTotal  ){

            m_lostTotal += 1;
            m_lostTotal= m_lostTotal+m_goalsReceivedTotal;



        }
    if(m_goalsScoredTotal==m_goalsReceivedTotal && goalsScored== goalsReceived){

                m_equalTotal += 1;
            }

}



Was soll denn das hier überhaupt???:
code:
1:
2:
        m_winsTotal += 1;
        m_winsTotal = m_winsTotal+m_goalsScoredTotal;

Du addierst zuerst 1 und dann nochmal m_goalsScoredTotal zu m_winsTotal??? Also letztlich addierst Du m_goalsScoredTotal+1 zu dem Wert, der in m_winsTotal ist?
Jetzt mal im Ernst: Hast Du auch nur irgendetwas dabei Dir gedacht oder hast Du das einfach mal so hingerotzt?
Mal abgesehen davon, dass das im if ja auch wieder überhaupt keinen Sinn ergibt, wie ich Dir jetzt schon mehrfach versucht hatte zu erklären: Du sollst im if() eine Bedingung haben, die wahr wird, wenn ein Spiel gewonnen ist, im nächsten, wenn es verloren ist, im letzten, wenn es unentschieden ist. Verstehst Du das wenigstens? Warum kommst Du dann auf die Idee hier immer noch die Total-Variablen mit zu überprüfen? Das muss man doch mit normalem gesunden Menschverstand schon verstehen dass das einfach nur Blödsinn ist!
Ich habe das ja noch nie gesagt, aber Du bist wirklich ein hoffnungsloser Fall. Da Du ja auch keinen einzigen Ratschlag befolgen willst, wird sich daran auch nie etwas ändern.

Gruß
Marco
22.10.2017 19:37 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

Aber dann müssen doch diese if Bedingungen richtig sein oder ?
code:
1:
2:
3:
4:
5:
6:
7:
8:
 if(goalsScored>goalsReceived Spiel gewonnen 

goalsScored<goalsReceived  Mehr Tore kassiert ,also verloren

goalsScored== goalsReceived Gleichstand 



Sind diese if Bedingungen jetzt richtig?
Aus meiner Sicht schon großes Grinsen
22.10.2017 20:46
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

So sind die Bedingungen, richtig.
Ohne Dich noch mehr verwirren zu wollen: Du solltest hier mit if() {} else if() {} else{} arbeiten. Dann wird das zweite if nur überprüft, wenn das erste nicht zugetroffen hat und die letzte Bedingung ausgeführt, wenn die ersten beiden ifs nicht wahr geworden sind. Wenn das eine weder kleiner noch größer als das andere ist, muss es ja gleich sein, so dass Du Dir die letzte Überprüfung dann sparen könntest.
Aber das ist nicht weiter wichtig, wenn Du das nicht gleich verstanden hast, dann lass das einfach erstmal so, wie Du es jetzt hast. Das ist schon auch richtig.

So, jetzt musst Du also überlegen, was passieren soll in den einzelnen Fällen. Du sollst ja im Falle eines Sieges die eine Member-Variable für die Summe aller gewonnen Spiele hoch zählen, im zweiten Fall die für die verlorenen und im dritten dann die für unentschieden.
Das Hochzählen mach am besten mit ++, also
code:
1:
var++;
Das ist die kürzeste Form, eine Ganzzahl-Variable um eins hoch zu zählen. Keiner schreibt
code:
1:
var += 1;
oder sogar
code:
1:
var = var + 1
wenn das auch alles richtig ist.

Unabhängig von dem if musst Du die beiden total-Variablen für die Tor/Gegentor-Summen jeweils um die Anzahl der für dieses Spiel erzielten Tore bzw. kassierten Gegentore hochzählen.

Dann endlich wären wir eventuell einen Schritt weiter... unglücklich

Gruß
Marco
22.10.2017 22:09 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

Zuerst mal noch eine Frage das mit dem m_lostTotal+=1 , sollte ich doch machen oder ?

Das was du willst ist ja : m_goalsReceivedTotal++;
Und in dem anderen Fall m_goalsScoredTotal++, machen .

Muss ich diese beide Sachen zusätzlich machen ?

Weil das stand ja nicht so in der Aufgabe großes Grinsen
22.10.2017 22:17
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:
50:

#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_winsTotal += 1;
        m_goalsScoredTotal += goalsScored;
        m_goalsScoredTotal++;




    }
    if(goalsScored<goalsReceived   ){

            m_lostTotal += 1;
            m_goalsReceivedTotal += goalsReceived;
            m_goalsReceivedTotal++;



        }
    if( goalsScored== goalsReceived){

                m_equalTotal += 1;
                m_equalTotal++;
            }

}




So würde das dann als Code aussehen .
Die fragen sind ja im vorletzten Beitrag LOL Hammer
22.10.2017 22:28
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 habe den weiteren Aufgabenteil auch schon ein wenig bearbeitet :

Mal sehen ob ich die Funktion richtig implementiert hab

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
unsigned int const CTeam::getTotalPoints(){

	int tmp = 0;
	 if(m_goalsScoredTotal>m_goalsReceivedTotal ){

		 tmp += 3;
		 return tmp;
	 }

	 if(m_goalsScoredTotal<m_goalsReceivedTotal   ){

		 return tmp;

		 }

	 if(m_goalsScoredTotal==m_goalsReceivedTotal   ){
		 tmp += 1;
		 return tmp;
	 }

Kevin33 hat dieses Bild (verkleinerte Version) angehängt:
r2.png

22.10.2017 23:11
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

Oder soll ich es so : return tmp +=3 ; ausgeben bei der getter Methode ?
22.10.2017 23:13
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
Zuerst mal noch eine Frage das mit dem m_lostTotal+=1 , sollte ich doch machen oder ?

Das was du willst ist ja : m_goalsReceivedTotal++;
Und in dem anderen Fall m_goalsScoredTotal++, machen .

Muss ich diese beide Sachen zusätzlich machen ?

Weil das stand ja nicht so in der Aufgabe großes Grinsen

Nein, Du verstehst ja schon wieder gar nichts! Was hab ich oben geschrieben, was macht += 1, was macht ++? Was willst Du mit den einzelnen Membervariablen machen?

Nochmal von vorne: mache mir zuerst eine Tabelle schreibe in die Spalten die fünf Membervariablen. Dann mache vier Zeilen mit 3:2 gewonnen, 2:2 unentschieden, 1:2 verloren und 0:0 unentschieden. Schreibe für die 4 Ergebnisse jeweils die Werte der Variablen auf, so wie wenn diese Spiele nacheinander stattgefunden hätten.

Mach die Tabelle, dann sehen wir weiter!
22.10.2017 23:20 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

Ja aber hier steht es doch so oder nicht?

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.

Was du meinst ja ist ja ,das man die Summe:

m_goalsScoredTotal++; hochzählt .
22.10.2017 23:26
Seiten (5): « vorherige 1 [2] 3 4 nächste » ... letzte » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Implementierungsproblem