Результаты теста exersise - PullRequest
       4

Результаты теста exersise

0 голосов
/ 29 апреля 2020

Упражнение: результаты теста сохраняются в текстовом файле, как показано ниже. В первой строке указывается максимальная оценка для отдельных задач. Каждая последующая строка содержит одночастную фамилию студента и баллы, полученные им за последующие задания. Количество заданий или учеников заранее неизвестно. Напишите программу «Тест», которая принимает имя такого файла в качестве аргумента и выводит на стандартный вывод комбинированные результаты каждого учащегося и средние результаты каждого задания, как в примере ниже. Программа включает только заголовочные файлы fstream, iostream, sstream, string и vector .


Sample input file input.txt
                 5.0 5.0 5.0
Einstein         1.5 3.0 0.5
Chopin           0.5 3.5 2.5
Sklodowska-Curie 5.0 5.0 5.0


Sample implementation:

Linux: ./colloquium input.txt
Windows: colloquium.exe input.txt
Out: Einstein 5
Out: Chopin 6.5
Out: Sklodowska-Curie 15
Out: 1 2.33333
Out: 2 3.83333
Out: 3 2.66667

Это то, что я сделал до сих пор:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>


int main(int argc, char *argv[])
{
std::ifstream input(argv[1]);
double sum = 0.;
for (std::string line; std::getline(input, line);)
    {
    std::string word;
    for (std::istringstream stream(line); stream >> word;);
    double grade;
    std::cout<<line<<std::endl;
        if (std::istringstream(word) >> grade)
        {
        sum += grade; 
        }
    }
std::cout << sum << std::endl;

input.close(); 
}

И я застрял, потому что он читает только цифры из последнего столбца. И я не знаю, что делать дальше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...