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

1

17.05.2009, 12:51

Hangman(vereinfacht)

Hallo ich bin es mal wieder :D

Ich hab mich mal an ein vereinfachtes Hangman rangetraut(wird noch verbessert :lol: )
Jetzt ist aber ein Problem
erstmal den 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
int Spiel ()
{
    //Variablen

    char Wort;
    char Raten;
    int Versuche = 10;

    cout << "Spielere1 geben sie das Wort ein :";
    cin  >> Wort;

    cout << "\n\nNun, Spieler2 errate bitte das Wort" << endl
         << "Hinweis: Sp1 gibt dir waehrendessen Tipps" << endl
         << "(Wird spaeter noch geaender)\n\n";
            
             cout << "Deine Antwort:";
             cin  >> Raten;
             

             if(Raten==Wort)
             {
                 cout << "ToLL! Das Wort ist richtig";
                 return 0;
             }
             else(Raten);
             {
                 cout << "Schade das Wort ist falsch";
             }
         return 0;
}//Spielen


Wenn ich das Prog Starte Darf ich das Wort eingeben aber dann steht
dort gleich:
http://img43.imageshack.us/img43/7200/problemv.png

Was ist falsch ich glaube es liegt an den Schleifen ^^
danke für Hilfe
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

2

17.05.2009, 12:56

Welche Schleife ? :roll:

btw: Dir scheint es ganz stark an Grundlagen zu fehlen. Bevor du iwas eigenes programmierst lies erstmal ein buch durch !

3

17.05.2009, 14:04

Ein char kann nur ein Zeichen speichern, für ein Wort solltest du einen std::string benutzen.
Lieber dumm fragen, als dumm bleiben!

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

4

17.05.2009, 14:28

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.

5

17.05.2009, 14:54

Hi Leute danke für die schnelle antwort

Ja ich hab ein Buch durchgelsen da hab ich dann woll char und strings falsch verstanden werde ich mir merken (evntl. Lese ich Das Kapitel nochmal durch). :)
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

6

16.06.2009, 16:47

is denn strcmp überhaupt von nöten?

sollten die strings nicht auch wunderbar mit == verbleichbar sein oder irre ich mich da?

grad für einen anfänger is es meiner meinung nach nicht notwendig zusätzlich zu all den anderen neuen Sachen die man lernen muss, sich dann auch noch strcmp zu merken (soll kein angriff sein, denke einfach dass == leichter is...)

lg Aly

7

16.06.2009, 18:24

Jo, so isses Aly. ;)

ChiMi

Als Hangman-Fan warte ich auf die Deluxe-Version (mit Fenster, 3D, Grafiken, Dolby Surround, Maussteuerung etc.).
Also komm mal in die Gänge! ;)
fka tm

Werbeanzeige