(Ошибка) не найдено совпадений с оператором & gt; & gt; в ‘std :: cout & gt; & gt; namesArray (счетчик) (0)»

Я действительно заблудился относительно того, почему я получаю ошибку для этого конкретного индекса массива. Я пишу программу, которая берет оценки учащихся из текстового файла. Этот файл состоит из 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;
}

0

Решение

cout >> ... >> .. >> ...;

должно быть

cout << ... << .. << ...;

Подумайте о том, чтобы поместить данные в выходной поток, поэтому данные должны идти к нему.

2

Другие решения

Оператор cout в качестве выходного потока <<,

  +--------+
|        |
|  cout  | <<-----  data
|        |
+--------+

+--------+
|        |
|  cin   | ----->>  data
|        |
+--------+
2

По вопросам рекламы [email protected]