This shows you the differences between two versions of the page.
project_rybin [2017/03/14 15:02] tatyana.berlenko created |
project_rybin [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Чекер для работы с 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. Откройте файл в текстовом редакторе, он выглядит примерно следующим образом: | ||
- | |||
- | <file csv example.csv> | ||
- | |||
- | Имя,Фамилия,Возраст | ||
- | Иван,Иванов,22 | ||
- | Петр,Иванов,23 | ||
- | Антон,Иванов,24 | ||
- | |||
- | </file> | ||
- | |||
- | Разделитель (в данном случае ',') может быть другим. | ||