Чекер для работы с csv файлом

Задача

Общая постановка задачи

Обработка файла в формате csv (таблица).

На обработку программе подаются две таблицы. Первая таблица содержит информацию о ФИО студента и его Github аккаунте, email'е и номере группы. Вторая таблица содержит фамилию, имя, количество баллов за экзамен. Требуется реализовать программу, которая:

удаляет повторяющиеся строки в таблицах;

составляет несколько новых таблиц (по количеству номеров групп), в которых содержится ФИО, Github аккаунт, email, оценка. Номер группы должен быть в начале каждой таблицы, таблицы разделяются двумя символами перевода строки;

находит количество студентов, которые получили максимальный балл и выводит результат на консоль;

находит количество студетов, которые написали хуже, чем 60% от максимального балла и выводит результат на консоль;

сохраняет результат в новом файле.

(число здесь идентифицирует номер команды)

Параметры

Программа получает параметры из входного потока. Параметры:

input_file_1 - csv файл

input_file_2 - csv файл

commands

commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 5 - функцией сохранения результата в новом файле.

В случае, если программа получила некорректные параметры, то:

операционной системе возвращается ненулевой код возврата (return в main)

не создается выходного в файла

выводится сообщение об ошибке «Fail with <имя параметра>».

Общие сведения

Получить csv файл можно, сохранив таблицу (Excel/Google Таблицы/LibreOffice Calc) в формате csv. Откройте файл в текстовом редакторе, он выглядит примерно следующим образом:

Имя,Фамилия,Возраст Иван,Иванов,22 Петр,Иванов,23 Антон,Иванов,24

Разделитель (в данном случае ',') в общем случае может быть другим. Мы будем использовать ','.