Hallo an alle,
ich arbeite mich gerade durch das Buch und brauche Hilfe.
Ich würde mich darüber freuen wenn sich jemand die Zeit nimmt und sich die Mühe macht mir das zu erklären.
Danke im Voraus.
Ich bin bei Listing 5.9 und wollte nun ein ähnliches Programm schreiben um mir den neuen Stoff zu verinnerlichen.
Mein Problem ist das, obowhl ich cin.get (Char Array,
Zahl) verwende, mein Array überlaufen kann.
Auf Seite 137 wird aber erklärt, das dass durch diesen Punktoperator verhindert wird,
das der Rest abgeschnitten wird.
Gebe ich einen Namen für Spieler 1 ein der länger ist als 8 Zeichen, führt das zu einem Chaos sobald der Spieler 2 seinen Namen eingeben soll.
Hier mein Quellcode:
|
Quellcode
|
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
|
#include <iostream>
using namespace std;
int main()
{
struct S_Spieler
{
char Name[10];
};
S_Spieler Spieler1;
S_Spieler Spieler2;
//Namen der Spieler bekommen
//
cout << "Spieler1 = ";
cin.get (Spieler1.Name, 9);
cin.ignore();
cout << "\nSpieler2 = ";
cin.get (Spieler2.Name, 9);
cin.ignore();
cout << "Name Spieler1 = " << Spieler1.Name << endl;
cout << "Name Spieler2 = " << Spieler2.Name << endl;
return 0;
}
|