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

son of Rizzo

Frischling

Beiträge: 19

Wohnort: Hanau

Beruf: Schüler

  • Private Nachricht senden

11

12.06.2008, 18:34

noch ein kleiner Tipp von mir:
Schau dir die Erklärung der verschieden Datentypen auch nochmal an.
Ich sag noch als kleinen Denkanstoß: ;)

C-/C++-Quelltext

1
2
3
4
5
int Ende;
       ...
       ...
if (Ende == 'e')
       ....
Viele Grüße, Christian

Anonymous

unregistriert

12

12.06.2008, 19:20

Danke.
Nur noch etwas. Ich habe keine Fehler mehr im Quelltext und mein Menü ist erstellt. Jetzt ist nur noch dieses problem:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// C++ lernen

// Listing 1.1

// Üben C++ zu lernen

//

#include <iostream>

using namespace std;

// Programm

//

int main ()
{
    // Variablen

    //

    char chAuswahl;

    // Das Menü

    cout << "(I)ntro, (O)ptionen oder (S)pielen? ";
    cin >> chAuswahl;
    cout << "\n\n";

    // Je nach Auswahl verzweigen

    switch (chAuswahl)
    {
        // Intro?

    case 'i':
    {
        cout << "Intro wird abgespielt.\a \a \a \a" << endl;
        } break;

        // Spieloptionen

    case 'o':
        {
            cout << "Spieloptionen." << endl << endl;
            int NamenAendern;
            cout << "Namen aendern: ";
            cin >> NamenAendern;
            cout << "\n\nDer Name wurde erfolgreich geaendert." << endl;
        } break;

        // Spiel starten

    case 's':
        {
            // Jeder gegen jeden oder Teamspiel?

            cout << "(J)eder gegen jeden oder (T)eamspiel? ";
            cin >> chAuswahl;

            // Jeder gegen jeden?

            if (chAuswahl == 'j')
                cout << "\nJeder gegen jeden." << endl;

            // Teamspiel?

            if (chAuswahl == 't')
                cout << "\nTeamspiel." << endl;

            // Falsche Eingabe

            else
                cout << "Falsche Eingabe." << endl;

        } break;

        // Alles andere gilt als Fehler.

    default:
        {
            cout << "Falsche Eingabe. Programm wird beendet." << endl;
        }
    }

    // Nach dem break

    cout << "Ende" << endl;

    return 0;
}



Sieht ihr das?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        // Spiel starten

    case 's':
        {
            // Jeder gegen jeden oder Teamspiel?

            cout << "(J)eder gegen jeden oder (T)eamspiel? ";
            cin >> chAuswahl;

            // Jeder gegen jeden?

            if (chAuswahl == 'j')
                cout << "\nJeder gegen jeden." << endl;

            // Teamspiel?

            if (chAuswahl == 't')
                cout << "\nTeamspiel." << endl;

            // Falsche Eingabe

            else
                cout << "Falsche Eingabe." << endl;

        } break;


Wenn man "Jeder gegen jeden" spielen möchte, steht das so da:

(I)ntro, (O)ptionen oder (S)pielen? s

(J)eder gegen jeden oder (T)eamspiel? j

Jeder gegen jeder.
Falsche Eingabe.
Ende



Wie bekomme ich dieses "Falsche Eingabe" da weg?

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

13

12.06.2008, 19:27

statt
if
if - else

nimmste alles in einen Zusammenhang:

if - else if [- else if [...]] - else

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

14

12.06.2008, 19:28

die if / else Anweisung verketten ;)

Momentan prüfst du folgendes:

1. Auswahl == J ? Wenn ja "Jeder gegen jeden" ausgeben
2. Auswahl == T? Wenn ja "Teamspiel ausgeben und wenn nicht "Falsche Eingabe" ausgeben.

Du willst aber nur eine Prüfung, also JGJ, Teamspiel ODER falsche Eingabe ergo:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
            // Jeder gegen jeden?

            if (chAuswahl == 'j')
                cout << "\nJeder gegen jeden." << endl;

            // Teamspiel?

            else if (chAuswahl == 't') // Man beachte das else hier ;)

                cout << "\nTeamspiel." << endl;

            // Falsche Eingabe

            else
                cout << "Falsche Eingabe." << endl; 

Werbeanzeige