Проект консольной электронной таблицы, в котором частично реализован функционал Excel.
Проект позволяет производить вычисления и запись данных по принципу электронных таблиц с управлением из консоли. Реализованы следующие возможности:
- Поддержка текстового и числового типов данных
- Все арифметические операции
- Оповещение о распространненых ошибках (деление на 0, некорректная операция и т.д.)
- Ссылки на другие ячейки
- Вывод результатов в консоль или запись в файл
- Использовать необходимые инструкции в
main.cpp
// создание экземпляра класса
auto sheet = CreateSheet();
// заполнение ячеек значениями
sheet->SetCell("A1"_pos, "2");
sheet->SetCell("B1"_pos, "2");
sheet->SetCell("С1"_pos, "=A1+B1");
sheet->SetCell("A2"_pos, "hello");
// вывод значений и формул как текстовый тип данных
std::ostringstream texts;
sheet->PrintTexts(texts);
std::cout << texts.str() << std::endl;
// вывод результатов рассчитанных формул и других значений
std::ostringstream values;
sheet->PrintValues(values);
std::cout << values.str() << std::endl;
// удалить значение из выбранной ячейки
sheet->ClearCell("B2"_pos);
- Собрать проект с использовавнием CMake и выбранного компилятора
- Запустить исполняемый файл (spreadsheet.exe)
- С++17
- GCC(MinGW-w64) 11+ version requires
- CMake 3.8 version requires
- Java JDK
- ANTLR4