Skip to content

Дипломный проект: Электронная таблица

Notifications You must be signed in to change notification settings

ElenaKad/cpp-spreadsheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Table

Описание проекта:

Проект позволяет создать электронную таблицу. Ячейка таблицы содержит текст или формулу, которая может состоят из индексов других ячеек. Лексический и синтаксический анализ формул реализован через библиотеку ANTLR, , которая генерирует код обхода дерева разбора формул на С++. Грамматика формул задается файлом Formula.g4.

Развертывание проекта

Проект реализован на С++ 17. Для запуска необходимо установить библиотеку ANTLR v4. Скачанные файлы размещаются в папку antlr4_runtime , расположенную в директорий проекта. Сборка осуществляется при помощи CMake.

Управление таблицей осуществляется через методы класса Sheet:

SetCell(Position pos, std::string text)}Задаёт содержимое ячейки. Если текст начинается со знака "=", то он интерпретируется, как формула, в противном случае, как текст.
GetCell(Position pos) Возвращает значение ячейки.
ClearCell(Position pos)Очищает ячейку.
GetPrintableSize()Вычисляет размер области, которая участвует в печати. Определяется как ограничивающий прямоугольник всех ячеек с непустым текстом.
PrintValues(std::ostream& output) и PrintTexts(std::ostream& output) Выводит всю таблицу в переданный поток.

Планы по доработке:

  • разработать графический интерфейс;
  • реализовать сериализацию таблицы;
  • добавить возможность строить графики и диаграммы по введённым данным.

About

Дипломный проект: Электронная таблица

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published