Я действительно заблудился относительно того, почему я получаю ошибку для этого конкретного индекса массива. Я пишу программу, которая берет оценки учащихся из текстового файла. Этот файл состоит из 10 строк по 2 столбца в формате (Имя, Фамилия, 1 класс, 2 класс, 3 класс, 4 класс, 5 класс). Во время выполнения мне нужно построчно проходить по файлу и помещать имена в свои 10 строк на 2 столбца, а оценки ставить в свои 10 строк на 5 столбцов. Это классная вещь, ИДК, почему мы так поступаем. В основном данные будут разделены и загружены в namesArray и gradesArray во время цикла. Я пометил строку ошибки, идентифицированную в моей IDE, * с обеих сторон и в линейных позициях
Наконец, вот мой код:
//Student Name: Jacob Gillespie
//Date: 10/20/13
//Program: Student Grade Manipulation
//Summary: Reads in grade data from text file, manipulates data
//and stores data back in output file
//Headers
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
//Declare variables and arrays
ifstream inData;
ofstream outData;
string namesArray[10][2];
string gradesArray[10][5];//Main Program Execution
int main()
{
//Open the data file containing the student names and grades
inData.open("StudentGrades.txt");
//Read data lines and assign student names to namesArray and grades to gradesArray
for (int counter = 0; counter < 10; counter++)
inData >> namesArray[counter][0] >> namesArray[counter][1]
>> gradesArray[counter][0] >> gradesArray[counter][1] >> gradesArray[counter][2]
>> gradesArray[counter][3] >> gradesArray [counter][4];
//TESTING, Print namesArray and gradesArray to ensure values are loaded and assigned correctly
for (int counter = 0; counter < 10; counter++)
*****cout >> namesArray[counter][***0***] >> " " >> namesArray[counter][1] >> endl;*****
for (int counter = 0; counter < 10; counter++)
cout >> gradesArray[counter][0] >> " " >> gradesArray[counter][1] >> " " >> gradesArray[counter][2]
" " >> gradesArray[counter][3] >> " "gradesArray [counter][4] >> endl;
return 0;
}
cout >> ... >> .. >> ...;
должно быть
cout << ... << .. << ...;
Подумайте о том, чтобы поместить данные в выходной поток, поэтому данные должны идти к нему.
Оператор cout
в качестве выходного потока <<
,
+--------+
| |
| cout | <<----- data
| |
+--------+
+--------+
| |
| cin | ----->> data
| |
+--------+