defining "scores" in declaration

well hey there guys i have tried several things to try to define this declaration and i dont know where i am going wrong does anyone have any ideas what need to bone in order to define "scores" in my source code because i have tried to implement several things into my source code and when i do keep coming up with more errors but however, i just need to get this variable declared and like i said i have tried several thing with in different areas of my source code

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
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;




ofstream outputfile("output.txt");
const int MAX_FILE_NAME = 35; // Maximum file name length
const int MAX_NUMBER_SCORES = 40; // Maximum number of values in array
void open_input(ifstream& input, char name[]); // Get file name & Open file
void read_values(ifstream& input, double v[], int size, int& used, double scores); // Read values from file
double find_average(ifstream& input, double& average); // Find avg values
void output(const char name[], const double v[], int n, double find_average, ostream& os = cout); // Print results


int main()
// Parameters: None
// Returns: Zero
// Calls: open_input(), find_average(), output()
{ char again; // Does user want to go through loop again?
char file_name[MAX_FILE_NAME + 1]; // Name of file to be processed
ifstream input_numbers; // For working with input file


double average = 0.0;
int num_scores = 0; // Number of scores in file


cout << "This program can find the average numbers in a file..n" << endl;
system("pause"); // Hold message on screen until key is pressed


do
{
//system("cls"); // Clear screen
open_input(input_numbers, file_name); // Get file name & open file


find_average(input_numbers, average); // Find average values in file
read_values(input_numbers, scores, MAX_NUMBER_SCORES, num_scores); // Read values
output(file_name, num_scores, average, scores );
output(file_name, num_scores, average, outputfile, scores); // and outputfile


input_numbers.close(); // Close file
if (num_scores > 0)
{ find_average(scores, num_scores, average); // Find average of values in array
}
else
{ cout << "..n..n..aNo data in file: " << file_name << endl;
}
cout << "..nDo you want to process another file (Y/N)? ";
cin >> again;
cin.ignore(256, '..n'); // Remove Enter key from keyboard buffer


} while ( again == 'y' || again == 'Y');


cout << "..nEnd of Program!" << endl;




return 0;
} // End of main()


void open_input(ifstream& input, char name[]) //Open file, exit on error
// Parameters: Variables for input file reference and input file name
// Returns: None
// Calls: None
{ int count = 0; // Count number of tries


do // Continue until we get a valid file name and can open file
{
count++;


if (count != 1) // Issue error message if we are trying again.
{ cout << "..n..aInvalid file name or file does not exist. Please try again."
<< endl;
}


cout << "..nEnter the input file name (maximum of " << MAX_FILE_NAME
<< " characters please)..n:> ";
cin.get(name, MAX_FILE_NAME + 1);// Gets at most MAX_FILE_NAME characters
cin.ignore(256, '..n'); // Remove Enter key from keyboard buffer


input.clear(); // Clear all error flags, if any, from prev try
input.open(name, ios_base::in); // Open only if file exists


} while (input.fail() ); // If can't open file, try again
} // End of open_input()


void read_values(ifstream& input, double v[], int size, int& used) // Read values
// Parameters: Variables for file reference, variable for array reference,
// value for array size and variable for number of values in array
// Returns: None
// Calls: None
{ 
double value; // Value from file
int count = 0; // Count number of values in file


while (count < size && input >> value) // Continue as long as there is 
// room in the array and we can read
{ v[count] = value; // a number from file.
count ++; 
}


used = count;
} // End of read_values()


void find_average(const double v[], int n, double& average) // Find average of values
// Parameters: Variables for array reference, value for number of values 
// and variables for average of values
// Returns: None
// Calls: None
{ 
int i; // Array index and loop counter


average = v[0];


for (i = 1; i < n; i++) // Start with 1 since max & min initialized to v[0]
{ 
if (v[i] > average) average = v[i];
if (v[i] < average) average = v[i];
}
} // End of find_average()


double find_average(ifstream& input, double& average) // Find max & min values
// Parameters: Variables for file reference and max and min values
// Returns: None
// Calls: None
{
double avag;


double sum = 0;
int count = 0;


while (input >> avag) // Continue as long as we can read a number from file.
{
sum += avag;
count = count + 1;
}
average = sum / count;
return sum / count;
} // End of average file


void output(const char name[], double average, ostream& os) // Print results
// Parameters: File name, max & min values from file, output stream
// Returns: None
// Calls: None
{ os << "..n..nInput your File Name Please : " << name << endl;
os << "Your average : " << setw(8) << average<< endl;


}
void output(const char name[], const double v[], int n, 
double avag,  ostream& out) 
// Parameters: File name, array reference, number of values of average of values
// Returns: None
// Calls: None
{ int i; // Array index and loop counter
out.setf(ios::fixed);
out.setf(ios::showpoint);
out.precision(1);
out << "..n..nInput File Name: " << name << endl;
out << "..nFile Contents:" << endl;
for (i = 0; i < n; )
{ out << setw(8) << v[i];
if ( ++i % 5 == 0) out << "..n"; // Print only 5 values per line
}
if ( i % 5 != 0) out << "..n"; // Newline if last line is short
out << "..nLargest Number in File: " << setw(8) << avag << endl;
out << "Smallest Number in File: " << setw(8) << avag << endl;
} // End of output() 


and here is the following error that i am getting:

(42) : error C2065: 'scores' : undeclared identifier
this error is happening on line 42 of my source code.

Last edited on
(42) : error C2065: 'scores' : undeclared identifier


Exactly that, you haven't declared/initialized scores anywhere.
I'm not sure what your mean, but i guess that even you define the "scores", there will be some errors:
function read_values() line 13 has 5 parameters and line 43 and 103 only 4 parameters......

Topic archived. No new replies allowed.