2017-11-09 13 views
-1

私のプログラムのこの部分は、学生の名前と等級のリストを読み込み、平均してそれらを表示することを目的としています。ファイルからのテキストが配列に読み込まれない

私は、次のような機能を宣言:ここ
int loadStudentNamesGrades(string students[], int grades[][MAX_GRADES], string fileName, int maxStudents);

は定義です:

int loadStudentNamesGrades(string students[], 
          int grades[][MAX_GRADES], 
          string fileName, 
          int maxStudents) 
{ 
    ifstream inFile; // input file stream 
    string nameFile; // name of file 
    string studentName; // name of student 
    int numStudents = 0; // number of students initialized to 0 

    inFile.open(fileName); // open the file 
    if (!inFile) 
    { 
     cout << "Unable to Open File!\n"; 
     system("PAUSE"); 
     exit (EXIT_FAILURE); 
    } 

    for (int i = 0; i < maxStudents && (inFile >> studentName >> numStudents); 
      i++, numStudents++) 
    { 
     for (int j = 0; j < MAX_GRADES; j++) 
     { 
      inFile >> grades[i][j]; 
     } 

     students[i] = studentName; 
    } 

    inFile.close(); 

    return numStudents; 
} 

私は私のプログラム、私のメニューが表示されますが、テキストファイルからの値のどれを実行しようとすると人口が多い。私の知る限り、エラーが返されないため、ファイルが正しく開かれています。

+0

無関係: 'i'と' numStudents'の違いは何ですか?あなたはおそらく2つを組み合わせることができます。 – user4581301

+0

あなたはデバッガでステップアップしようとしましたか? – pm100

答えて

0

配列を読み込んでいるようですが、それらは返されません。 、参照することにより、このような何かを、あなたの配列を渡す試してみてください。

int loadStudentNamesGrades(string (&students)[10], int (&grades)[10][MAX_GRADES], 
          string fileName, int maxStudents) 

またvectorの代わりの配列を使用して考えることができます。

関連する問題