Hi Leute,
und noch ein Problem zu meiner Highscoreliste
. Ich komm mir langsam zu dumm zum kacken vor!! Also ich versuche die nun mit eine Klasse "Eintrag" und einer Klasse "Highscore" zu realisieren. Nun hab ich aber ein Problem mit dem Spielernamen in der Klasse "Eintrag"! Schaut's euch mal an:
|
C-/C++-Quelltext
|
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
class CRaumschiff
{
public:
void ZeigeDaten ();
CRaumschiff ();
void SetNull ();
private:
int m_Punkte;
string m_sName;
float m_fSpeed;
};
// ZeigeDaten
//
void CRaumschiff::ZeigeDaten ()
{
cout << "Name: " << m_sName << endl;
cout << "Punkte: " << m_Punkte << endl;
cout << "Geschwindigkeit: " << m_fSpeed << endl;
cout << endl;
}
// SetNull
//
// Aufgabe: Attribute auf Null setzen
//
void CRaumschiff::SetNull ()
{
m_sName = "";
m_Punkte = 0;
m_fSpeed = 0.0f;
} // SteNull
// Konstruktor
CRaumschiff::CRaumschiff ()
{
m_Punkte = 1000;
m_sName = "Spieler1";
m_fSpeed = 22.5f;
}
// Hauptprogramm
//
int main ()
{
// Variablen
//
CRaumschiff Jaeger;
Jaeger.ZeigeDaten ();
// Instanz in Datei schreiben
ofstream Output ( "Highscore.hsg" , ios::binary);
Output.write ((char*) &Jaeger, sizeof (Jaeger));
Output.close ();
// Instanz löschen
Jaeger.SetNull ();
Jaeger.ZeigeDaten ();
// Instanz lesen
ifstream Input ( "Highscore.hsg", ios::binary );
Input.read ((char*) &Jaeger, sizeof (Jaeger));
Input.close ();
Jaeger.ZeigeDaten ();
return 0;
}
|
Nun, alles läuft so weit so gut, nur wenn er dan die Datei geladen hat und diese ausgeben soll, dann kommen beim Spielernamen ganz komische Ergebnise zu Stande! Ich danke schon einmal im Vorraus... ;p
Stupidus