Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

sniper88

Frischling

  • »sniper88« ist der Autor dieses Themas

Beiträge: 29

Wohnort: Edemissen

Beruf: Schüler

  • Private Nachricht senden

1

04.09.2005, 16:05

Abspeichern mit fstream

Ich möchte bei einem Programm die Punktstaende der einzelnen Spieler in Arrays zusammenfassen und diese dann mit fstream abspeichern. Sowohl das zusammenfassen als auch das Speichern funktioniert.
Nur wenn ich die Daten auslese , ist nur noch der letzte Wert richtig.

Zusammenfassen und speichern:

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
int PktKlaus[500];
                    int PktHorst[500];
                    int PktDieter[500];
                    int PktJuergen[500];
                    int PktMartin[500];
                    int PktSpiel[500];
                    
                    Spielnummer++;

                    Spielwert = System::Convert::ToInt32( textBox6->Text );
                    Punkte_Klaus = System::Convert::ToInt32( textBox1->Text );
                    Punkte_Horst = System::Convert::ToInt32( textBox2->Text );
                    Punkte_Dieter = System::Convert::ToInt32( textBox3->Text );
                    Punkte_Juergen = System::Convert::ToInt32( textBox4->Text );
                    Punkte_Martin = System::Convert::ToInt32( textBox5->Text );

                    PktKlaus[n] = Punkte_Klaus;
                    PktHorst[n] = Punkte_Horst;
                    PktDieter[n] = Punkte_Dieter;
                    PktJuergen[n] = Punkte_Juergen;
                    PktMartin[n] = Punkte_Martin;
                    PktSpiel[n] = Spielwert;

                    int test1;
                    test1 = PktKlaus[0];
                        int test2;
                    test2 = n;


                    Tab();

                    textBox1->Text="";
                    textBox2->Text="";
                    textBox3->Text="";
                    textBox4->Text="";
                    textBox5->Text="";
                    textBox6->Text="";

                    ofstream Output ("Quicksave.sri", ios::binary);
                    Output.write((char*) &n, sizeof n);
                    Output.write((char*) &PktKlaus, sizeof PktKlaus);
                   Output.write((char*) &PktHorst, sizeof PktHorst);
                   Output.write((char*) &PktDieter, sizeof PktDieter);
                   Output.write((char*) &PktJuergen, sizeof PktJuergen);
                   Output.write((char*) &PktMartin, sizeof PktMartin);
                   Output.write((char*) &PktSpiel, sizeof PktSpiel);
                   Output.close();

                   n++;

Auslesen und Anzeigen in ListView Element:

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
int PktKlaus[500];
                 int PktHorst[500];
                 int PktDieter[500];
                 int PktJuergen[500];
                 int PktMartin[500];
                 int PktSpiel[500];

                 ifstream Input ("Quicksave.sri", ios::binary);
                 Input.read((char*) &n, sizeof n);
                 Input.read((char*) &PktKlaus, sizeof PktKlaus);
                 Input.read((char*) &PktHorst, sizeof PktHorst);
                 Input.read((char*) &PktDieter, sizeof PktDieter);
                 Input.read((char*) &PktJuergen, sizeof PktJuergen);
                 Input.read((char*) &PktMartin, sizeof PktMartin);
                 Input.read((char*) &PktSpiel, sizeof PktSpiel);
                 Input.close();
                

                 for (int i=0;i<=n;i++)
                 {
                    Punkte_Klaus = PktKlaus[i];
                    Punkte_Horst = PktHorst[i];
                    Punkte_Dieter = PktDieter[i];
                    Punkte_Juergen = PktJuergen[i];
                    Punkte_Martin = PktMartin[i];
                    Spielwert = PktSpiel[i];
                    Spielnummer++;
                    Tab();
                 }

Programm ist in C++ mit .net Framework programmiert
To finish first you first have to finish.

Anonymous

unregistriert

2

04.09.2005, 16:43

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
for (int i=0;i<=n;i++)
                 {
                    Punkte_Klaus = PktKlaus[i];
                    Punkte_Horst = PktHorst[i];
                    Punkte_Dieter = PktDieter[i];
                    Punkte_Juergen = PktJuergen[i];
                    Punkte_Martin = PktMartin[i];
                    Spielwert = PktSpiel[i];
                    Spielnummer++;
                    Tab();
                 }


Welcher Sinn/Zweck steckt da dahinter?

sniper88

Frischling

  • »sniper88« ist der Autor dieses Themas

Beiträge: 29

Wohnort: Edemissen

Beruf: Schüler

  • Private Nachricht senden

3

04.09.2005, 18:12

C-/C++-Quelltext

1
                     Punkte_Klaus = PktKlaus[i]; 

Soll den Punktestand an an der Stelle i im Array auf die Variable Punkte_(jeweiliger Spieler) übertragen.


C-/C++-Quelltext

1
Tab();

Ist die Funktion, mit der die Variablen (Punkte_Klaus,...) in das ListView Element eingefügt werden.

Das ganze soll durch die for-Schleife so oft laufen, bis die Anzahl der gespielten Spiele (n) erreicht ist - also alle Spieler in die ListView übertragen sind.
To finish first you first have to finish.

4

04.09.2005, 18:23

Eine Verwendung eines Stuerelemnts als Datenspeicher ist sehr langsam.

Anonymous

unregistriert

5

04.09.2005, 19:11

Äh, die ListView (heißt es eigentlich so???) ist nicht als Datenspeicher, sondern nur als Anzeigeelement gemeint.

Werbeanzeige