diff options
| author | jstmax! <87650746+MaxWasTakenYT@users.noreply.github.com> | 2024-10-17 17:41:06 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-17 17:41:06 +0000 |
| commit | 4b2d4286807b5bb7ab5835c7e9583af02fcfb30d (patch) | |
| tree | 3155cf5c3d575e47151b4a40f00515bd534fcc1b | |
| parent | 3672543c44482fe18f670017fb345564278e6b0b (diff) | |
Update xsc_debug.cpp
| -rw-r--r-- | xsc_debug.cpp | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/xsc_debug.cpp b/xsc_debug.cpp index c362992..adf7a15 100644 --- a/xsc_debug.cpp +++ b/xsc_debug.cpp @@ -3,36 +3,38 @@ #include <cmath> using namespace std; -/* void usage() { +void usage() { // Prints usage message (help) system("figlet XSC | lolcat"); cout << "\neXtremelySimpleCalculator usage:\n" << "`xsc --help` for help\n" << "`xsc <number> <(+|-|*|/|%|^)> <number>` for basic operation calculating\n" << "`xsc -r|--sqrt <number>` for square root calculation\n"; -} */ +} int main(int argc, char* argv[]) { - if (argv[1] == "--help" || argv[1] == "-h") { /* usage(); */ return 0; } - /* - else if (argc > 4) { - cout << "too many arguments!\n"; - // usage(); - return 1; + if (argv[1] == "--help" || argv[1] == "-h") { + usage(); + return 0; + } + else { + if (argv[2][0] == '+') { cout << atof(argv[1]) + atof(argv[3]); } + else if (argv[2][0] == '-') { cout << atof(argv[1]) - atof(argv[3]); } + else if (argv[2][0] == '*') { cout << atof(argv[1]) * atof(argv[3]); } + else if (argv[2][0] == '/') { cout << atof(argv[1]) / atof(argv[3]); } + else if (argv[2][0] == '%') { cout << fmod(atof(argv[1]), atof(argv[3])); } + else if (argv[2][0] == '^') { cout << pow(atof(argv[1]), atof(argv[3])); } + + // Let's not SIGSEGV here for god's sake (a.k.a. square rooting my lif) + else if (argv[1] == "-r" || argv[1] == "--sqrt") { + if (argv[2] != NULL) { + cout << sqrt(atof(argv[2])); + } + else { + cout << "[!] error: missing argument for sqrt operation\n"; + cout << "debugInfo: argv[2] = " << argv[2] << "\n"; + } + } } - else if (argc < 2) { - cout << "not enough arguments!\n"; - // usage(); - return 1; - } - */ - else if (argv[2][0] == '+') { cout << atof(argv[1]) + atof(argv[3]); } - else if (argv[2][0] == '-') { cout << atof(argv[1]) - atof(argv[3]); } - else if (argv[2][0] == '*') { cout << atof(argv[1]) * atof(argv[3]); } - else if (argv[2][0] == '/') { cout << atof(argv[1]) / atof(argv[3]); } - else if (argv[2][0] == '%') { cout << fmod(atof(argv[1]), atof(argv[3])); } - else if (argv[2][0] == '^') { cout << pow(atof(argv[1]), atof(argv[3])); } - else if (argv[1] == "-r" || argv[1] == "--sqrt") { cout << sqrt(atof(argv[2])); } - return 0; } |