summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjstmax! <87650746+MaxWasTakenYT@users.noreply.github.com>2024-10-17 17:41:06 +0000
committerGitHub <noreply@github.com>2024-10-17 17:41:06 +0000
commit4b2d4286807b5bb7ab5835c7e9583af02fcfb30d (patch)
tree3155cf5c3d575e47151b4a40f00515bd534fcc1b
parent3672543c44482fe18f670017fb345564278e6b0b (diff)
Update xsc_debug.cpp
-rw-r--r--xsc_debug.cpp46
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;
}