Hallo liebe Forengemeinde,
vllt finde ich bei euch die benötigte Idee mein Problem umzusetzen, bisher erhalte ich nur mir unverständliche Fehler bei VS2008. Folgendes Problem ich möchte in ein Array einen neuen Spieler eintragen lassen und mir dieses Array dann wiederum auf der Konsolehttp://forum.chip.de/# ausgeben lassen, nur steh ich bei der Methodenprogrammierung etwas auf dem Schlauch. Vielen Dank für eure Mühe im Vorraus.
Problemmethoden in CKader.cpp kommentiert:
// Kader.cpp
#include "CKader.h"
#include "CSpieler.h"
#include <iostream>
using namespace std;
// Konstruktor
CKader::CKader(char* vorname, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht, unsigned int nummer, char* verein, unsigned int seit, E_POSITION position)
{
}
// Destruktor
~CKader::CKader()
{
delete spielerArray[i];
}
// Methoden
bool CKader::AddSpieler()
{
for(i = 0; i < cMaxSpieler; i++)
{
//Array Spieler hinzufügen
spielerArray[i]= new CSpieler();
}
return true;
}
bool CKader::PrintKader()
{
for (int i = 0; i < cMaxSpieler; i++)
{
// Array auf Bildschirm ausgeben
spielerArray[i]->CSpieler::Print();
}
return true;
}
Alles anzeigen
// CKader.h
const int cMaxSpieler = 50;
int i;
class CKader {
public:
enum E_POSITION {Torwart, Abwehr, Mittelfeld, Sturm, Ersatzbank};
int *spielerArray[];
//Konstruktor
CKader(char* vorname, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht, unsigned int nummer, char* verein, unsigned int seit, E_POSITION position);
~CKader();
//Methoden
bool AddSpieler();;
bool PrintKader();
};
Alles anzeigen
// CSpieler.h
const int cMaxStrLength = 50;
class CSpieler {
public:
char vorname[cMaxStrLength];
char nachname[cMaxStrLength];
char geboren[cMaxStrLength];
unsigned int groesse_cm;
unsigned int gewicht_kg;
unsigned int aktNummer;
char aktVerein[cMaxStrLength];
unsigned int aktVereinSeit_jahr;
enum E_POSITION
{
Torwart, Abwehr, Mittelfeld, Sturm, Ersatzbank
};
E_POSITION aktPosition;
//Konstruktor
CSpieler(char* vorname, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht);
~CSpieler();
//Methoden
bool SetNummer(unsigned int nummer);
bool SetVerein(char* verein, unsigned int seit);
bool SetPosition(E_POSITION position);
bool Print();
};
Alles anzeigen
// CSpieler.cpp
#include "CSpieler.h"
#include <iostream>
using namespace std;
//Konstruktor
CSpieler::CSpieler(char* vorname, char* nachname, char* geboren, unsigned int groesse, unsigned int gewicht)
{
strcpy(this->vorname, vorname);
strcpy(this->nachname, nachname);
strcpy(this->geboren, geboren);
this->groesse_cm = groesse;
this->gewicht_kg = gewicht;
this->aktNummer = 00;
strcpy(this->aktVerein, "Kein Verein");
this->aktVereinSeit_jahr = 0001;
this->aktPosition = Ersatzbank;
}
//Methoden
bool CSpieler::SetNummer(unsigned int nummer) { this->aktNummer = nummer; return true; }
bool CSpieler::SetVerein(char *verein, unsigned int seit){ strcpy(this->aktVerein, verein); this->aktVereinSeit_jahr = seit; return true; }
bool CSpieler::SetPosition(E_POSITION position) { this->aktPosition = position; return true; }
bool CSpieler::Print()
{
cout << "Spieler Vorname: " << vorname << "\n" << endl;
cout << "Spieler Nachname: " << nachname << "\n" << endl;
cout << "Spieler wurde geboren am: " << geboren << "\n" << endl;
cout << "Spieler Groesse in cm: " << groesse_cm << "\n" << endl;
cout << "Spieler Gewicht in kg: " << gewicht_kg << "\n" << endl;
cout << "Spielernummer: " << aktNummer << "\n" << endl;
if (CSpieler::aktPosition == Torwart) { cout << "Position: " << "Torwart\n" << endl; }
else if (CSpieler::aktPosition == Abwehr) { cout << "Position: " << "Abwehr\n" << endl; }
else if (CSpieler::aktPosition == Mittelfeld) { cout << "Position: " << "Mittelfeld\n" << endl; }
else if (CSpieler::aktPosition == Sturm) { cout << "Position: " << "Sturm\n" << endl; }
else if (CSpieler::aktPosition == Ersatzbank) { cout << "Position: " << "Ersatzbank\n" << endl; }
cout << "Spielt seit Jahr: " << aktVereinSeit_jahr << " im Verein: " << aktVerein << "\n" << endl;
return true;
}
Alles anzeigen