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

29.10.2010, 16:51

Fehler bei Eigenerweiterung von Listing 5.7

Hallo,

ich habe versucht, das Listing 5.7 zu erweitern, allerdings kommt in der Console einmal "Dein Name:" und dann immer weiter "In welchem Team willst Du spielen (1 oder 2): ". Ich verstehe nicht, warum ich den Namen und das Team nicht angeben kann. Von mir ist "// Anzahl der Spieler abfragen" und der Teil mit den ganzen ungleich-Überprüfungen.

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>

using namespace std;

// Hauptprogramm
int main ()
{
    // Strukturen
    struct S_Spieler
    {
        int Team;
        char Name[30];
    };

    // Variablen
    S_Spieler SpielerListe[20];
    int Auswahl;
    int AnzahlSpieler;

    // Anzahl der Spieler abfragen
    do
    {
        cout << "Wie viele Spieler nehmen teil: ";
        cin >> AnzahlSpieler;

        if (AnzahlSpieler < 0 || AnzahlSpieler > 20)
        {
            cout << "Falsche Eingabe!" << endl;
        }

    } while (AnzahlSpieler < 0 || AnzahlSpieler > 20);

    // Abfrage der einzelnen Spielerdaten
    for (int i = 0; i < AnzahlSpieler; i++)
    {
        SpielerListe[i].Team = 0;

        // Name abfragen
        cout << "Spieler " << i + 1 << endl;
        cout << "Dein Name: ";
        cin.get (SpielerListe[i].Name, 29);

        // Spieler abfragen
        do
        {
            cout << "In welchem Team willst du spielen (1 oder 2): ";
            cin >> SpielerListe[i].Team;

        } while (SpielerListe[i].Team != 1 && SpielerListe[i].Team != 2);

        cout << endl;
        cin.ignore ();
    }

    // Ausgabe aller Teilnehmer eines Teams
    do
    {
        cout << "Welches Team soll angezeigt werden (0 fuer Ende): ";
        cin >> Auswahl;

        // Nur ausgeben, wenn ein gültiges Team gewählt wurde
        if (Auswahl == 1 || Auswahl == 2)
        {
            if (SpielerListe[0].Team != Auswahl && SpielerListe[1].Team != Auswahl && SpielerListe[2].Team != Auswahl && SpielerListe[3].Team != Auswahl)
            {
                cout << "In diesem Team sind keine Spieler!" << endl;
            }
            else
            {
                cout << "Team " << Auswahl << " besteht aus:" << endl;
            }

            // Alle Spieler durchlaufen
            for (int j = 0; j < AnzahlSpieler; j++)
            {
                // Ist der Spieler im anzuzeigenden Team?
                if (SpielerListe[j].Team == Auswahl)
                {
                    cout << "Spielername: " << SpielerListe[j].Name;
                    cout << endl;
                }
            }

            cout << endl;
        }
    } while (Auswahl != 0);

    return 0;
}


Danke im Voraus!

ich1994

Treue Seele

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

2

29.10.2010, 17:11

Versuch mal ein cin.ignore() nach deinem cin>>AnzahlSpieler

MfG

ICH1994

3

30.10.2010, 13:33

Danke, hat funktioniert!

Werbeanzeige