C++ Reset Leaderboards? Console App. How to? Help - Thanks

Hello. Got a quick easy console quiz show game application that I am stumbling on how to finish. Thank you for your time to help me with this. I began a C++ course at my school and aced through the beginning and got ahead in assignments and started working on learning website building outside of school. Now I have to complete this simple assignment for my C++ course and I am totally spacing on how to do this last addition to the assignment I worked on. The only thing left to do (an additional extra credit opportunity) is to make it so that the end of the quiz will ask the user whether they want to reset the quiz with Y or N (for yes or no). If they say yes it will reset the High_Score.txt document back to the original default standings. If they respond with no, nothing needs to be done.

First time posting so I apologize for any wrongdoings or wrong formatting.

I tried some if statements and a bool but I couldn't get either to work and the closest I got was to emptying the leader boards but no replacing it and I somehow messed up the entire coding and started over practically. When I do it I have trouble with initializing and dealing with the user input I think. Any help is appreciated. At the end of the main() is when I need it I think.

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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
/*

The Flag Quiz

by

(Me)

*/

// Include the libraries
#include <iostream>
#include <string>
#include <fstream>

//Use the standard namespace
using namespace std;

// Declare global variables
int Guess;
int Winnings;
int Y;

//Define the Question class
class Question
{
private:
	string Question_Text;
	string Answer_1;
	string Answer_2;
	string Answer_3;
	string Answer_4;
	int Correct_Answer;
	int Prize_Amount; // PrizeAmount (How Much is it Worth)
public:
	void setValues(string, string, string, string, string, int, int);
	void askQuestion();
};

void main()
{
	//Declare local variables
	int High_Score[5];
	string High_Score_Name[5];
	int Rank;
	float Y;
	float N;
	int Reset_Response;
	

	// Initialize a high score at 0
	High_Score[4] = 0;

	// Input the high scores from a file
	ifstream Input_High_Scores;
	Input_High_Scores.open("High_Scores.txt");

	for (int i = 0; i < 5; i++)
	{
		Input_High_Scores >> High_Score[i];
		Input_High_Scores >> High_Score_Name[i];
	}
	Input_High_Scores.close();

	if (High_Score[4] == 0)
	{

		//Initialize local variables
		High_Score[0] = 25000;
		High_Score[1] = 12000;
		High_Score[2] = 7500;
		High_Score[3] = 4000;
		High_Score[4] = 2000;
		High_Score_Name[0] = "Gwyneth";
		High_Score_Name[1] = "Adam";
		High_Score_Name[2] = "Nastasia";
		High_Score_Name[3] = "Nicolas";
		High_Score_Name[4] = "Dani";
	}
	// Show the title screen
	cout << "****************************" << endl;
	cout << "*                         *" << endl;
	cout << "* The Great Flag Quiz Game *" << endl;
	cout << "*                         *" << endl;
	cout << "*             by         *" << endl;
	cout << "*                         *" << endl;
	cout << "*          (ME)          *" << endl;
	cout << "*                         *" << endl;
	cout << "****************************" << endl;
	cout << endl;

	// Create instances of Question
	Question q1;
	Question q2;
	Question q3;
	Question q4;
	Question q5;
	Question q6;
	Question q7;

	//Set the values for the questions functions
	q1.setValues(
		"What color combination is the United States of America's Flag?",
		"Purple, Blue, White",
		"White, Red, Yellow",
		"Red, White, Blue",
		"Red, Yellow, Green",
		3,
		2500
		);

	q2.setValues(
		"How many stars are on the American flag?",
		"50",
		"13",
		"100",
		"52",
		1,
		5000
		);

	q3.setValues(
		"Germany's flag has what three colors?",
		"Gold White & Green",
		"Black Blue & Green",
		"White Red & Gold",
		"Black Red & Gold",
		4,
		2500
		);

	q4.setValues(
		"Mexico's flag has it's national emblem in the center. What animal is the Eagle holding in it's claws and beak?",
		"a Snake",
		"an Armadillo",
		"another Eagle",
		"a Scorpion",
		1,
		2500
		);

	q5.setValues(
		"The Canadian flag has what symbol in the middle?",
		"a White Oak Leaf",
		"a Maple Leaf",
		"a Hockey Puck",
		"a Moose",
		2,
		2500
		);

	q6.setValues(
		"Which country shares the same colors on their flag as the United States?",
		"Denmark",
		"Ireland",
		"France",
		"China",
		3,
		2500
		);

	q7.setValues(
		"A flag at half mast (or halfway raised) is commonly seen as a symbol for what?",
		"Respect, or Mourning, or Distress",
		"Celebration, or News",
		"Prisoner of War",
		"National Emergency, or at War",
		1,
		5000
		);


	// Ask the questions
	q1.askQuestion();
	q2.askQuestion();
	q3.askQuestion();
	q4.askQuestion();
	q5.askQuestion();
	q6.askQuestion();
	q7.askQuestion();

	if (Winnings >= High_Score[4])
	{
		//Get user's rank
		for (int i = 4; Winnings >= High_Score[i] && i >= 0; i--)
		{
			Rank = i;
		}

		//Rearrange the high scores list
		for (int i = 4; i != Rank; i--)
		{
			High_Score[i] = High_Score[i - 1];
			High_Score_Name[i] = High_Score_Name[i - 1];
		}

		cout << "You got a high score!" << endl;
		cout << "Please enter your name." << endl;
		cin >> High_Score_Name[Rank];
		High_Score[Rank] = Winnings;
	}

	// Print the high score list
	cout << "High Score List" << endl;
	cout << endl;
	for (int i = 0; i< 5; i++)
	{
		cout << High_Score[i] << " " << High_Score_Name[i] << endl;
	}

	// Output the high scores to a file
	ofstream Output_High_Scores;
	Output_High_Scores.open("High_Scores.txt");

	for (int i = 0; i< 5; i++)
	{
		Output_High_Scores << High_Score[i] << endl;
		Output_High_Scores << High_Score_Name[i] << endl;
	}
	Output_High_Scores.close();
	system("PAUSE");
}

// Stores values Question variables
void Question::setValues(string q, string a1, string a2, string a3, string a4, int ca, int pa)
{
	Question_Text = q;
	Answer_1 = a1;
	Answer_2 = a2;
	Answer_3 = a3;
	Answer_4 = a4;
	Correct_Answer = ca;
	Prize_Amount = pa;
}

void Question::askQuestion()
{
	// Ask the question
	cout << endl;
	cout << Question_Text << endl;
	cout << "1. " << Answer_1 << endl;
	cout << "2. " << Answer_2 << endl;
	cout << "3. " << Answer_3 << endl;
	cout << "4. " << Answer_4 << endl;
	cout << endl;

	// Ask for a guess
	cout << "What is your answer?" << endl;
	cin >> Guess;

	// If user guesses right, add Prize_Amount to Winnings
	if (Guess == Correct_Answer)
	{
		cout << endl;
		cout << "You are correct!" << endl;
		Winnings = Winnings + Prize_Amount;
		cout << " $" << Prize_Amount << " was just added to your winnings!" << endl;
		cout << "Total winnings: $" << Winnings << endl;
		cout << endl;
	}
	else
	{
		cout << endl;
		cout << "Sorry, you guessed wrong." << endl;
		cout << "Current Total winnings: $" << Winnings << endl;
		cout << endl;
	}
}
Topic archived. No new replies allowed.