错误C2065:'exam1':未声明的标识符
// basic file operations
#include <iostream>
#include <fstream>
using namespace std;
void read_file_in_array(int exam[100][3]);
double calculate_total(int exam1[], int exam2[], int exam3[]); // function that calcualates grades to see how many 90,80,70,60
//void display_totals();
int main()
{
int go,go2,go3;
go=read_file_in_array(exam);
go2=calculate_total(exam1,exam2,exam3);
//go3=display_totals();
cout << go,go2,go3;
return 0;
}/*
int display_totals()
{
int grade_total;
grade_total=calculate_total(exam1,exam2,exam3);
return 0;
} */
double calculate_total(int exam1[],int exam2[],int exam3[])
{
int calc_tot,above90=0, above80=0, above70=0, above60=0,i,j;
calc_tot=read_file_in_array(exam);
for(i=0;i<100;i++)
{
exam1[i]=exam[100][0];
exam2[i]=exam[100][1];
exam3[i]=exam[100][2];
if(exam1[i] <=90 && exam1[i] >=100)
{
above90++;
cout << above90;
}
}
return exam3[i];
}
void read_file_in_array(double exam[100][3])
{
ifstream infile;
int num, i=0,j=0;
infile.open("grades.txt");// file containing numbers in 3 columns
if(infile.fail()) // checks to see if file opended
{
cout << "error" << endl;
}
while(!infile.eof()) // reads file to end of line
{
for(i=0;i<100;i++) // array numbers less than 100
{
for(j=0;j<3;j++) // while reading get 1st array or element
infile >> exam[i][j];
infile >> exam[i][j];
infile >> exam[i][j];
cout << exam[i][j] << endl;
}
exam[i][j]=exam1[i];
exam[i][j]=exam2[i];
exam[i][j]=exam3[i];
}
infile.close();
}
答案 0 :(得分:1)
go=read_file_in_array(exam);
exam
未在main范围内声明: - ?如何宣布它(也许是int exam[100][3]
)
答案 1 :(得分:1)
显然你没有宣布“考试”,“考试1”,“考试2”和“考试3”标识符。
这一行:
void read_file_in_array(int exam[100][3]);
声明read_file_in_array标识符,但不是考试。
你必须告诉你的编译器考试是什么而不仅仅是那个。声明它可能会使您的文件编译,但它不足以使程序工作。你必须实际定义它。定义也是一个声明,因此定义它将起到作用。考试在主要范围内使用,所以我认为你可以将考试定义为主要的局部变量。试试这个
int main()
{
int go,go2,go3;
int exam[100][3];
int exam1[100];
int exam2[100];
int exam3[100];
go=read_file_in_array(exam);
go2=calculate_total(exam1,exam2,exam3);
//go3=display_totals();
cout << go,go2,go3;
return 0;
}/*