Warum lässt du deine Funktion einen int zurückgeben?
Und wie mein vorredner schon sagte ist dort nicht eine schleife.
Und das was du wort nennst ist ein einzelner Buchstabe(char) und kein Wort, wenn du wörter willst musst du ein Char Array verwenden oder besser strings.
Besserer Code
|
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
|
void Spiel ()
{
//Variablen
string sWort;
string sRaten;
int Versuche = 10;
cout << "Spielere1 geben sie das Wort ein: ";
cin >> sWort;
cout << endl;
cout << "Nun, Spieler2 errate bitte das Wort" << endl;
cout << "Hinweis: Sp1 gibt dir waehrendessen Tipps" << endl;
cout << "(Wird spaeter noch geaender)\n\n";
while (Versuche != 0)
{
cout << "Deine Antwort:";
cin >> sRaten;
if(!strcmp(sRaten.c_str(), sWort.c_str()))
{
cout << "ToLL! Das Wort ist richtig" << endl << endl;
return;
}
else
{
cout << "Schade das Wort ist falsch" << endl << endl;
}
Versuche--;
}
cout << "Schade,du hast es nach 10 versuchen nicht geschafft zu erraten" << endl;
}
|
Die char Variablen wurden durch strings ersetzt(du musst den header string einbinden).
Rückgabewert der Funktion auf void gesetzt, weil man dort keinen Rückgabewet braucht.
While Schleife eingebaut, damit das Programm so lange läuft bis man 10 Versuche hatte.
if-abfrage korrigiert.