2010-04-30 5 views
0

ошибка C2065: 'exam1': необъявленный идентификаторошибка unidentfied identfier "экзамены", и я не знаю, почему в C++

// 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

'exam' используется без объявления в' main() 'и' calculate_total() '. –

+0

Я думаю, он имел в виду «экзамен», а не «экзамены», – nc3b

ответ

1
go=read_file_in_array(exam); 

exam не объявлен в рамках основной: - ? Как насчет объявления (возможно, int exam[100][3])

1

Очевидно, вы не объявили идентификаторы «экзамен», «экзамен1», «экзамен2» и «экзамен3».

Эта линия:

void read_file_in_array(int exam[100][3]); 

объявляет read_file_in_array идентификатор, но не экзамен.

Вы должны сообщить своему компилятору, что такое экзамен, и не только это. Объявление этого файла может привести к компиляции вашего файла, но для работы программы недостаточно. Вы должны это определить. Определение также является декларацией, поэтому определение ее сделает трюк. экзамен используется в области main, поэтому я думаю, что вы можете определить экзамен как локальную переменную в основном. Попробуйте это

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; 
}/* 

 Смежные вопросы

  • Нет связанных вопросов^_^