also ich dachte das folgendermaßen:
|
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
|
int Highscore1 = 10793;
int Highscore2 = 35;
int Highscore3 = 20;
ifstream Lesen1 ("Highscore1.hsc", ios::binary);
if (! Lesen1)
cout << "Datei konnte nicht geöffnet werden!" << endl;
Lesen1.read ((char*) &Highscore1, sizeof (Highscore1));
Lesen1.close ();
ifstream Lesen2 ("Highscore2.hsc", ios::binary);
Lesen2.read ((char*) &Highscore2, sizeof (Highscore2));
Lesen2.close ();
ifstream Lesen3 ("Highscore3.hsc", ios::binary);
Lesen3.read ((char*) &Highscore3, sizeof (Highscore3));
Lesen3.close ();
if (punkte > Highscore1) {
cout << "Du hast meine programmierte Highscore geknackt?" << endl;
cout << "Das lasse ich nicht zu du wirst trotzdem zweiter!!!" << endl;
punkte = Highscore1 - 100;
char Name1n [40] = "Jonas";
ofstream Punkte1 ("Highscore1.hsc", ios::binary);
Punkte1.write ((char*) &Highscore1, sizeof (Highscore1));
Punkte1.close();
ofstream Name1 ("Highscore1n.hsc", ios::binary);
Name1.write ((char*) &Name, sizeof (Name));
Name1.close();}
if (punkte > Highscore2) {
cout << "Super du bist in der Highscore auf den 2. Platz gekommen!" << endl;
ofstream Punkte2 ("Highscore2.hsc", ios::binary);
Punkte2.write ((char*) &Highscore2, sizeof (Highscore2));
Punkte2.close();
ofstream Name2 ("Highscore2n.hsc", ios::binary);
Name2.write ((char*) &Name, sizeof (Name));
Name2.close(); }
else if (punkte > Highscore3) {
cout << "Super du bist in der Highscore auf den 3. Platz gekommen!" << endl;
ofstream Punkte3 ("Highscore3.hsc", ios::binary);
Punkte3.write ((char*) &Highscore3, sizeof (Highscore3));
Punkte3.close();
ofstream Name3 ("Highscore3n.hsc", ios::binary);
Name3.write ((char*) &Name, sizeof (Name));
Name3.close(); }
else {
cout << "Du hast leider keinen Platz in der Highscore erreicht." << endl; }
|
dort treten auch keine Probleme auf aber wenn ich dann die Funktion zeige highscore aufrufe kommt bei name irgendwelche zeichen!
die Highscore zeigefunktion sieht folgendermaßen aus:
|
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
|
void zeigehighscore() {
int Highscore1, Highscore2, Highscore3;
char Name[20];
ifstream Lesen1 ("Highscore1.hsc", ios::binary);
Lesen1.read ((char*) &Highscore1, sizeof (Highscore1));
Lesen1.close ();
ifstream Lesen2 ("Highscore2.hsc", ios::binary);
Lesen2.read ((char*) &Highscore2, sizeof (Highscore2));
Lesen2.close ();
ifstream Lesen3 ("Highscore3.hsc", ios::binary);
Lesen3.read ((char*) &Highscore3, sizeof (Highscore3));
Lesen3.close ();
ifstream Lesen4 ("Highscore1n.hsc", ios::binary);
if (! Lesen4)
cout << "Datei konnte nicht geöffnet werden!"<< endl;
Lesen1.read ((char*) &Name, sizeof (Name));
Lesen1.close ();
cout << "1. Platz: " << Name << " mit " << Highscore1 << " Punkten" << endl;
ifstream Lesen5 ("Highscore2n.hsc", ios::binary);
Lesen1.read ((char*) &Name, sizeof (Name));
Lesen1.close ();
cout << "2. Platz: " << Name << " mit " << Highscore2 << " Punkten" << endl;
ifstream Lesen6 ("Highscore3n.hsc", ios::binary);
Lesen1.read ((char*) &Name, sizeof (Name));
Lesen1.close ();
cout << "3. Platz: " << Name << " mit " << Highscore2 << " Punkten" << endl;
}
|
da is ja dann wohl ein Fehler drinn denn als ich das mit If (! datei) gemacht habe hat er keinen Fehler angezeigt!
wenn sich nochmal jemand meldet wäre das sehr net!
@Nox erstens heißt es im und net in zweitens wird Voraus in diesem Fall groß geschrieben und drittens habe ich nicht vor-raus sonder vorraus geschrieben aber ansonstens danke für den tipp