Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- C++ 2 (http://www.informatikerboard.de/board/thread.php?threadid=2898)


Geschrieben von eulerscheZahl am 09.03.2016 um 16:39:

 

team ist das Funktionsargument, wie du dem UML Diagramm entnehmen kannst.



Geschrieben von progger am 09.03.2016 um 16:44:

 

Ah ja jetzt verstehe ich es :

Hier scheint irgendwo ein Fehler zu sein:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
bool CTeam::addTeam(CTeam const& team)const{
if (m_curEntry >= m_maxEntry){

	return false;
}

else {
m_pTable[m_curEntry++] = team;
return true;
}
}



Kannst du mir auch kurz versuchen zu erklären warum das m_curEntry++?



Geschrieben von eulerscheZahl am 09.03.2016 um 16:47:

 

Zitat:
CTeam::addTeam

Du bist aber gerade bei CTeamTable.

Erst soll an die aktuelle Stelle (m_curEntry) geschrieben werden.
Dann wird m_curEntry um 1 erhöht, um an der nächsten Stelle weiterzuschreiben.



Geschrieben von progger am 09.03.2016 um 16:50:

 

Blöder Fehler .

Man braucht da viel Übung .

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
bool CTeamTable::addTeam(CTeam const& team)const{
if (m_curEntry >= m_maxEntry){

	return false;
}

else {
m_pTable[m_curEntry++] = team; hier fehler angezeigt?
return true;
}
}


Description Resource Path Location Type
increment of member 'CTeamTable::m_curEntry' in read-only object CTeamTable.cpp /CTeam line 34 C/C++ Problem



Geschrieben von eulerscheZahl am 09.03.2016 um 16:54:

 

Du willst die Variable m_curEntry ändern (ist auch nötig), geht aber wegen
bool CTeamTable::addTeam(CTeam const& team) const { nicht.
Deshalb muss das const da weg.



Geschrieben von progger am 09.03.2016 um 16:58:

 

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:

#include "CTeamTable.h"
#include "CTeam.h"
#include <iostream>
using namespace std;

CTeamTable::CTeamTable(int unsigned maxEntry = 10){
	if (maxEntry < 5){
		maxEntry = 5;
	}
    m_maxEntry = maxEntry;
    m_curEntry = 0;
    m_pTable = new CTeam[m_maxEntry];

}

CTeamTable::~CTeamTable(){
	delete[] m_pTable;
}

bool CTeamTable::addTeam(CTeam const& team){
if (m_curEntry >= m_maxEntry){

	return false;
}

else {
m_pTable[m_curEntry++] = team;
return true;
}
void CTeamTable::print(string headline){

	cout << this << endl;

}
}


Den als parameter übergeben überschrift ausgeben ?

Kann man das nicht mit this machen?



Geschrieben von eulerscheZahl am 09.03.2016 um 17:03:

 

Nö.
Du musst die Teams durchgehen und die einzeln ausgeben.
code:
1:
2:
3:
for (int i = 0; i < m_curEntry; i++) {
    cout << ...
}



Geschrieben von progger am 09.03.2016 um 17:07:

 

muss ich bei cout irgendwie die addresult methode ausgeben ?



Geschrieben von eulerscheZahl am 09.03.2016 um 17:10:

 

Wir haben für das CTeam den Operator << überladen. Deshalb reicht es an der Stelle
code:
1:
cout << m_pTable[i];
zu schreiben.
Die Ausgabe entspricht noch nicht ganz der gewünschten Form, aber das kriegen wir schon noch hin.



Geschrieben von progger am 09.03.2016 um 22:50:

 

Was wird durch dieses m_pTable[i] ausgegeben ?

Tut mir leid wegen den fragen .

Jetzt wird es ein wenig komplizierter für mich großes Grinsen



Geschrieben von eulerscheZahl am 10.03.2016 um 09:45:

 

Es wird das ausgegeben, was du bei
code:
1:
ostream& operator << (ostream &out, const CTeam &rop)
geschrieben hast.



Geschrieben von progger am 10.03.2016 um 11:29:

 

Ein kleiner Tipp wie die weitere Vorgehensweise ist ?

Dann versuche ich einen Ansatz zu posten großes Grinsen



Geschrieben von eulerscheZahl am 10.03.2016 um 11:38:

 

Du musst noch 2 Dinge tun:
1. die Ausgabeformatierung ändern, dass es mehr nach einer Tabelle aussieht.
2. die Sortierung. Schau mal, was zu zu Bubblesort finden kannst (ist nicht der klügste Sortieralgorithmus, aber dafür leicht zu programmieren).



Geschrieben von progger am 10.03.2016 um 18:06:

 

bubbleSort3(Array A)
n = A.size
do{
newn = 1
for (i=0; i<n-1; ++i){
if (A[i] > A[i+1]){
A.swap(i, i+1)
newn = i+1
} // ende if
} // ende for
n = newn
} while (n > 1)

Brauche ich diesen Algorithmus für die nummerierte Ausgabe?



Geschrieben von eulerscheZahl am 11.03.2016 um 08:04:

 

Jetzt musst du den Code nur noch verstehen und auf die aktuelle Aufgabe anpassen.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH