From 6ba4ea3ad379369cdc872e828187ab9b0d4c810d Mon Sep 17 00:00:00 2001 From: jstmax! <87650746+MaxWasTakenYT@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:58:44 +0000 Subject: Update and rename xsc.cpp to xsc_debug.cpp --- xsc_debug.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 xsc_debug.cpp (limited to 'xsc_debug.cpp') diff --git a/xsc_debug.cpp b/xsc_debug.cpp new file mode 100644 index 0000000..e246081 --- /dev/null +++ b/xsc_debug.cpp @@ -0,0 +1,69 @@ +#include +#include +#include +using namespace std; + +int usage() { + // Prints usage message (help) + // system("figlet XSC | lolcat"); + cout << "\neXtremelySimpleCalculator usage:\n" + << "`xsc --help` for help\n" + << "`xsc <(+|-|*|/|%|^)> ` for basic operation calculating\n" + << "`xsc -r|--sqrt ` for square root calculation\n"; + return 0; +} + +int doOperation(int n1, char opx[], int n2) { + // Performs calculations, TODO: improve :) + int result; + switch (opx[1]) { + case '+': + result = n1 + n2; + break; + case '-': + result = n1 - n2; + break; + case '*': + result = n1 * n2; + break; + case '/': + result = n1 / n2; + break; + case '%': + result = n1 % n2; + break; + case '^': + result = pow(n1, n2); + break; + default: + cout << "invalid operator!\n"; + break; + } + return result; +} + +int main(int argc, char* argv[]) { + // main::Calculations(); + if (argv[1] == "-r" || argv[1] == "--sqrt") { + int result = sqrt(atoi(argv[2])); + } + else { + int result = doOperation(atoi(argv[1]), argv[2], atoi(argv[3])); + } + + // main::Handling(); + if (argv[1] == "--help" || argv[1] == "-h") { + usage(); + return 0; + } + else if (argc > 4) { + cout << "too many arguments!\n"; + usage(); + return 1; + } + else if (argc < 2) { + cout << "not enough arguments!\n"; + usage(); + return 1; + } +} -- cgit v1.3.1