Hallo erstmal!
Folgendes Problem:
Untenstehende Klasse soll mal in einen Fußballmanager eingebaut werden. Man soll hier Spieler für seine Mannschaft erstellen, d.h. den Namen eingeben, die Werte sind festgelegt. Ich geb probeweise 4 Namen ein und will sie dann anschließend anzeigen lassen, aber:
Wenn ich Spieler 1 oder 2 sehen will, zeigt der PC mir Spieler 3 und 4, wenn ich Spieler 3 oder 4 sehen will, zeigt er mir merkwürdige Zeichen und unmögliche Werte.
Vielen Dank für Eure Hilfe
# include <iostream>
using namespace std;
//KLasse für Spieler
class C_Spieler
{
private:
int m_Fitness;
int m_Verteidigung;
int m_Angriff;
char m_Spielername[30];
public:
//Konstruktor
C_Spieler ();
//Funktionen
void InitSpieler ();
void ZeigeDaten ();
};
//Konstruktor für Spielerdaten
C_Spieler::C_Spieler ()
{
m_Fitness =50;
m_Verteidigung = 0;
m_Angriff = 0;
}
//Funktion Spielername abfragen
void C_Spieler::InitSpieler ()
{
cout<<"Geben Sie einen Namen ein: "<<endl; cin.ignore ();
cin.get (m_Spielername, 29);
}
//Funktion Spielerdaten ausgeben
void C_Spieler::ZeigeDaten ()
{
cout<<"Name :"<<m_Spielername<<endl;
cout<<"Fitness :"<<m_Fitness<<endl;
cout<<"Verteidigung :"<<m_Verteidigung<<endl;
cout<<"Angriff :"<<m_Angriff<<endl;
}
//Hauptprogramm
int main ()
{
C_Spieler *pSpielerliste = NULL;
int Anzahl = 0;
cout<<"Wieviele Spieler willst du aufstellen (maximal 4): "<<endl;
cin>>Anzahl;
pSpielerliste = new C_Spieler[Anzahl];
for (int i = 0; i < Anzahl; i++)
{
cout<<"Spieler "<<i+1<<endl;
pSpielerliste.InitSpieler ();
cout<<endl;
}
//Anzeigen der Spieler
int j = 0;
while (j != 5)
{
cout<<"Welcher Spieler soll angezeigt werden (5 zum beenden): "<<endl;
cin>>j;
cout<<"Spieler: "<<(j)<<endl;
pSpielerliste[j+1].ZeigeDaten ();
}
delete[] pSpielerliste;
pSpielerliste = NULL;
return 0;
}