Skip to content

simkes/csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSV-format file interpreter

Интерпретатор CSV файлов умеет читать CSV таблицу из файла и обрабатывать формулы, вычисляя значения в ячейках таблицы. Если в ходе работы интерпретатора не возникло ошибок, обработанная таблица выводится в консоль в формате CSV.

Допустимый формат файла

  • В каждом ряду таблицы должно быть одинаковое количество элементов.

  • Названия столбцов могут содержать только буквы латинского алфавита и должны быть уникальными. Пропуск значения допускается только в левой верхней ячейке.

  • Строки нумеруются целыми положительными числами, номера строк должны быть уникальными.

  • В ячейках CSV-файла могут хранится или целые числа или выражения вида

    = ARG1 OP ARG2

    где ARG1 и ARG2 – целые числа или адреса ячеек в формате Имя_колонки Номер_строки, а OP – арифметическая операция из списка: +, -, *, /.

Примечания

  • Выходные данные - таблица с посчитанными целочисленными значениями. (Деление будет так же производиться целочисленно.)
  • Все пробельные символы (в начале, конце и середине) игнорируются.

Инструкция по сборке

Компиляция:

g++ main.cpp Csv.cpp -std=c++17 -o csvreader

или

clang++ main.cpp Csv.cpp -std=c++17 -o csvreader

Так же можно собрать проект при помощи CMake.

Запуск:

./csvreader (path/)file.csv

Список тестов - tests.txt

Тесты и их решения - test-data/test-name.csv и test-data/test-name.sol

Под Linux можно запустить скрипт run-test-data.sh, проверяющий работу программы на всех тестах из tests.txt

./run-test-data.sh csvreader

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published