Skip to content

IgorKilipenko/cpp-spreadsheet

Repository files navigation

Cpp-Spreadsheet (Электронная таблица)

Содержание

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

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

Функциональность

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

Пример использования

#include "spreadsheet.h"
#include <iostream>

int main() {
    // Создаем новую таблицу
    auto sheet = CreateSheet();

    // Задаем значения ячеек
    sheet->SetCell("A1"_pos, "Hello, world!");
    sheet->SetCell("B1"_pos, "=2+2");

    // Получаем значения ячеек и выводим на экран
    std::cout << "A1: " << sheet->GetCell("A1"_pos)->GetValue() << std::endl;
    std::cout << "B1: " << sheet->GetCell("B1"_pos)->GetValue() << std::endl;

    // Очищаем ячейку
    sheet->ClearCell("B1"_pos);

    // Получаем значение очищенной ячейки (должно быть пусто)
    std::cout << "B1 after clearing: " << sheet->GetCell("B1"_pos)->GetValue() << std::endl;

    return 0;
}

Технологии

  • Стандарт языка: C++17
  • Парсинг формул: ANTLR4
  • Основная логика приложения: библиотека libspreadsheet
  • Пример использования: консольное приложение spreadsheet

Установка

Для установки проекта выполните следующие шаги:
# Клонировать репозиторий
git clone https://github.com/IgorKilipenko/cpp-spreadsheet.git

# Перейти в каталог проекта
cd cpp-spreadsheet

# Собрать проект с помощью CMake
mkdir build
cd build
cmake ..
make

# Установить
make install