Skip to content

IlyaVir/XMaster

Repository files navigation

XMaster

XMaster (exe for windows 10 x64):

https://drive.google.com/drive/folders/1MsVYhE5FXIyU78sOs5jhazMu3oHizoIt?usp=sharing

Программа работает с многочленами с переменной x. Введённый многочлен приводится к стандартному виду и сохраняется. С сохранёнными многочленами можно производит различные операции (в том числе f(x); f'(x)). Написан на C++ с использованием фреймворка Qt 5.15. Особенности:

  • Можно использовать, как обычный калькулятор.
  • Реагирует на некорректный ввод (даже за переполнение ругает).
  • На каждую ошибку есть пояснение. Аварийного завершения не должно быть.
  • Программа воспринимает правильную запись многочлена (правильная запись очень вольная, т.е. можно ставить любое кол-во пробелов, опускать знаки, ставить унарные знаки). Ввод может производиться клавишой "Enter" или нажатием на кнопку "Ввод"
  • Последний выделенный многочлен отмечен жёлтым. Это важно для некоторых операций. Например, в f(x) желтой должна быть функция f, а не аргумент x. Логика такая, что жёлтым должно быть отмечено то, что находится в левой части при записи.
  • Есть фоновая музыка (из HoMM V). Можно включить/отключить.
  • Есть звуковые эффекты (долго потрошил файлы HoMM V и искал подходящие). Можно включить/отключить.
  • Есть необычный параметр "ИИ". Отвечает за озвучку комментариев к действиям пользователя. Если получить красную ошибку 8 раз подряд, то он рассердится. Можно включить/отключить. Весьма вероятно, что он вас задолбает.
  • Параметры того, что можно включить/отключить, сохраняются в файле settings, т.е. настройки сохраняются для следующего запуска программы.
  • Введённые многочлены сохраняются в файле data для дальнейшего использование, т.е. они не пропадут после закрытия программы.
  • Программа реагирует на отсутствие файлов "data", "settings".
  • Если ввести некорректные значения в "settings", то программа заметит это.

К сожалению, код весьма некрасив в некоторых местах и имеет множество сомнительных решений.

Я был молод (начало 2020-го года) и глуп и не знал ООП (однако был очень упорен и усерден).

Интересные примеры:

  1. 0 ^ 0 = 1
  2. 0 ^ (-1) - error (деление на 0)
  3. 2 ^ (-2) - error (вещественная арихметика)
  4. x(2)x = 2x^2
  5. -x ( +3 ) x ( + 2 ) x ( +1 ) = -6x^3
  6. x ^ x - error
  7. x ^ x / x ^ x - error
  8. x ^ (x - x) = 1
  9. 1 / 2 + 1 / 2 - error
  10. 2 / 2 = 1

About

polynomial calculations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published