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

About

Электронная таблица

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy