Engineer, credit and debit calculator. GUI implementation based on Qt API for C++17.
- The program is developed in C++17 within the MyNamespace namespace.
- The code follows the Google Style guide.
- Full unit test coverage is prepared using the GTest library for expression calculation modules.
- The graphical interface implementation is based on the Qt library.
- The program is implemented using the MVC pattern.
- Accepts both integer and floating-point numbers as input.
- Input is done via keyboard and buttons in the application.
- Users can input up to 255 characters.
- Invalid input is allowed.
- Error will be displayed after pressing the = symbol for invalid input.
- Calculation is performed after complete input of the expression and pressing the = symbol.
- Supports the calculation of arbitrary bracketed arithmetic expressions in infix notation with the substitution of the variable x as a number.
- Supports various arithmetic operations and mathematical functions.

- Supports plotting of functions defined using expressions in infix notation with the variable x.
- Requires specifying the displayed domain and range for plotting functions.
- Provides options to print, delete, and change the color of the graph.
- Supports a maximum of 8 graphs.

- Supports annuity and differential types of credits.
- Allows calculation with specified loan amounts, interest rates, and terms.

- Supports calculation with specified deposit amounts, interest rates, terms, and additional options for withdrawal and addition of funds.

- MacOS or Linux
- C++17 compiler
- QT5 or QT6 (Widgets)
To build and install this project, please follow the instructions below:
- Clone this repository to your local machine.
- Open a terminal and navigate to the project directory.
- Run:
make install. - This command will compile the source code and create an executable file named "SmartCalc" in the build directory.
Sergey Sinitsyn (aka Bernarda Verla)
This project is licensed under the MIT License - see the LICENSE file for details.
- Set of predefined tokens and their attributes: Astrodynamic
- Widget for plotting and data visualization: QtCustomPlot
© 2023 SergSinitsyn