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

09.12.2018, 03:50

Programm Quiz//Fragen dazu

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include <iostream>
#include <windows.h>
#include <string>
    using namespace std;

    int main()
    {
        //Datentypen
        string eingabe;
        int eingabe2;
        int antwort;
        int eingabe4;
        int eingabe5;
        int eingabe6;
        int i = 0;
        string Weiter;
        string Name;
        string respond;

        int Punkte = 0;

        //1 Frage
        cout << "QUIZROUND BY DENNIS" << endl;
        cout << "------------------------------" << endl;
        
        
        cout <<"Bitte gib deinen Namen ein"<<endl;
        cin>> Name;
        
        cout<<"Bist du ready fuer das Quiz "<<Name<<"?"<<endl;
        cout<<"Ja/Nein?"<<endl;
        cin>>respond;
        
        //Das Quiz geht los, falls er Ja eingibt
        if(respond == "Ja")
        {
            cout<<"Das Quiz geht gleich los!"<<endl;
            cout<<"Viel Glueck!"<<endl;
            cout<<"Bitte drueck 'ENTER', um das Quiz zu starten"<<endl;
            cout<<"Wenn du 2 Punkte erreicht hast, hast du das Quiz geschafft!\n";
    
            cin.ignore();
            cin.get();
        }
        else //Falls er Nein eingibt
        {
            cout<<"Auf Wiedersehen!"<<endl;
            return 0;
            
        }
        
        //Quiz fängt an
        cout<<"Herzlich Willkommen!"<<endl;
        cout<<"Hier kommt die erste Frage!"<<endl;
    
    
        cin.get();
        
        cout<<"Wie landet das Plastik in unserem Koerper?"<<endl;
        cout<<"[1] Durch das essen\n";
        cout<<"[2] Durch das rauchen\n";
        cout<<"[3] Durch das trinken von Alkohol\n";
        
        cin>>eingabe4;
        
        if(eingabe4 != 1)
        {
            cout<<"Diese Antwort war leider falsch, tut mir leid\n";
            cout<<"Du bekommst noch einen Versuch\n";
        
            cin>>eingabe4;
            
        }
        
        switch (eingabe4)
        {
        
        case 1:
            cout<<"Herzlichen Glueckwunsch, die Antwort ist richtig!\n";
            
            //Punkte werden addiert
            if(eingabe4 == 1)
            {
                Punkte++;
                cout<<"Du hast "<<Punkte<<" Punkt."<<endl;
            }
            
            cout<<"Bitte drueck 'ENTER' um fortzufahren\n";
            
            cin.ignore();
            cin.get();
            break;
        }
        
        //Step TWO
        
        cout<<"Welches der unten genannten Lebensmittel enthält am meisten Eisen?\n";
        
        cout<<"[1] Rindfleisch\n";
        cout<<"[2] Spinat\n";
        cout<<"[3] Schokolade\n";
        
        cin>>eingabe5;
        
            if(eingabe5 != 3 )
            {
                cout<<"Die Antwort ist leider falsch. Es wäre 'Schokolade' gewesen\n";
                return 0;
            }
            
            switch(eingabe5)
            {
                case 3:
                    cout<<"Sehr gut.Du hast die richtige Antwort gewaehlt!\n";
                    
                    //Punkte werden addiert
                 if(eingabe5 == 3)
                {
                    Punkte++;
                    cout<<"Du hast "<<Punkte<<" Punkte."<<endl;
                }
            
                    cin.get();
                    cin.ignore();
                    
                    break;
                
            }
                
            //NextQuestion
            
            cout<<"Wer entwickelte C++?\n";
            
            cout<<"[1] Dennis Ritchie\n";
            cout<<"[2] Bjarne Stroustrup\n";
            cout<<"[3] Sun Microsystem\n";
            
            cin>>eingabe5;
            
            if(eingabe5 != 2)
            {
                cout<<"Tut mir leid, diese Antwort ist leider falch, aber du bekommst noch einen Versuch!\n";
                cin>>eingabe5;
                
            }
            switch(eingabe5)
            {
                case 2:
                    cout<<"Gut gemacht, die Antwort ist richtig!\n";
                    
                    if(eingabe5 == 2)
                    {
                        Punkte++;
                        cout<<"Du hast "<<Punkte<<" Punkte.\n";
                        
                        cin.get();
                        cin.ignore();
                      }
                    break;
                
              }

                    
                
                
            
            
            
        
        



            

return 0;
    }




Da ich ein Neuling im Thema programmieren bin und derzeit die C++ Sprache erlernen möchte, wollte ich mal fragen, ob ihr Tipps habt, was man noch in das Quiz einbauen könnte bzw was man verbessern könnte. Ist ja nur ein Test, daher sind nicht viele fragen eingebaut. Freue mich für jede hilfreiche Antwort.

LG
tyreZ

Tris

Treue Seele

Beiträge: 102

Wohnort: ~Stuttgart

  • Private Nachricht senden

2

09.12.2018, 04:42

Ich denke der nächste Schritt wäre ein paar Schleifen die du einbauen könntest.

Z.B. könntest du damit prüfen ob der Spieler einen Namen, Ja/Nein eingibt und den Teil so lange wiederholen bis er korrekte Daten eingibt.
Wenn ich mich richtig erinnere sollten die Schleifen in C++ für Spieleprog. Buch (und vermutlich in alle anderen auch) als nächstes dran kommen wenn ich so deinen Programminhalt sehe.

Auch könntest du den Spieler mit einer Schleife nach X falschen Antworten wieder zum Quiz Anfang schicken, ohne dass er das Programm beenden und neu starten muss.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

09.12.2018, 08:59

Nun, zunächst mal würde ich die ganzen Fragen und Antworten in eine dafür passende Datenstruktur verpacken und dann diese auslesen statt alle Antworten als Spaghetti-Code hintereinander hart als Code abzutippern.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

4

09.12.2018, 15:34

Ich denke der nächste Schritt wäre ein paar Schleifen die du einbauen könntest.

Z.B. könntest du damit prüfen ob der Spieler einen Namen, Ja/Nein eingibt und den Teil so lange wiederholen bis er korrekte Daten eingibt.
Wenn ich mich richtig erinnere sollten die Schleifen in C++ für Spieleprog. Buch (und vermutlich in alle anderen auch) als nächstes dran kommen wenn ich so deinen Programminhalt sehe.

Auch könntest du den Spieler mit einer Schleife nach X falschen Antworten wieder zum Quiz Anfang schicken, ohne dass er das Programm beenden und neu starten muss.

Genau, da wollte ich mich als nächstes ran tasten

5

09.12.2018, 15:35

Nun, zunächst mal würde ich die ganzen Fragen und Antworten in eine dafür passende Datenstruktur verpacken und dann diese auslesen statt alle Antworten als Spaghetti-Code hintereinander hart als Code abzutippern.

Das mache ich genau wie? :D

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

09.12.2018, 16:56

Zum Beispiel indem du die möglichen Antworten (als Liste/Vektor) und die Nummer der richtigen Antwort in einem struct zusammenfasst. Das packst du dann wieder in eine Liste bzw. in einen Vektor. Schon kannst du beliebig viele Fragen mit jeweils beliebig vielen Antworten haben, ohne dass dadurch dein eigentlicher Logik-Code wächst. Dann könntest du die Daten (Fragen, Antworten) noch in eine Textdatei auslagern und beim Starten des Programms daraus laden, damit du die Daten nicht im Code definieren musst.

Werbeanzeige