Problem mit c++

Hi,
Ich habe ein Problem. ich habe gerade mit c++ angefangen und wollte ein hangman spiel schreiben. jetzt habe ich ein problem mitdem folgenden code:

Code:
case 4: //Länge des Wortes
char word[length] = "-"; //---- wird ausgegeben
while(time != 0)
{
string tip;
cin \>\> tip; //Buchstaben eingeben
bool b;
b = suche.find(tip); //Buchstaben mit Wort vergleichen. suche = zu erratendes wort
cout 
 Mein problem ist, dass z.B. beim Wort "haus" alle buchstaben als richtig angezeigt werden außer das "h".
 habe schon versucht b nach jeden durchgang auf NULL zu setzten hat aber nicht gebracht.
 Schonmal danke im vorraus.

Hi,

dann lies Dir nochmal die Beschreibung von suche.find durch. Es liest sich so, als ob da die Position des gefundenen Buchstabens zurückgegeben wird. Interessant wäre, was die Rückgabe ist, wenn der Buchstabe nicht gefunden wird.

Gruß, Lutz

Siehe z.B.

http://www.cplusplus.com/reference/string/string/find/

Gruß Lutz

Moin moin

Interessant wäre, was die
Rückgabe ist, wenn der Buchstabe nicht gefunden wird.

If the content is not found, the member value npos is returned.

npos ist also immer das ende .

if (string.find(‚t‘) == string::npos) ‚schade nüx gefunden‘

npos indicates the end of the string.

Hi,
zunächst solltest du keinen bool sondern einen int nehmen. Und eine andere Frage, was machst du wenn ein Wort 20 Zeichen hat? Du solltest darüber hinaus das raten in eine Methode auslagern. Die als Parameter die Länge des Wortes bekommt.
Lg Knerd