diff options
| author | jstmax! <87650746+MaxWasTakenYT@users.noreply.github.com> | 2024-10-17 15:56:51 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-17 15:56:51 +0000 |
| commit | 18096f3864843679c298cbf5b8fc238d0c5b3efa (patch) | |
| tree | 2341128b39f4f3d71a8f6996099acc41cf3fad86 /xsc.cpp | |
| parent | cd3b7d1b6aa94146d32cef40868ca9fa2f60cf6a (diff) | |
Update xsc.cpp
Diffstat (limited to 'xsc.cpp')
| -rw-r--r-- | xsc.cpp | 87 |
1 files changed, 25 insertions, 62 deletions
@@ -3,21 +3,17 @@ #include <cmath> using namespace std; -void clear() { - // Clears the screen - system("clear"); -} -void usage() { +int usage() { // Prints usage message (help) - clear(); 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"; + return 0; } -int doOper(int n1, char opx[], int n2) { +int doOperation(int n1, char opx[], int n2) { // Performs calculations, TODO: improve :) int result; switch (opx[1]) { @@ -39,8 +35,6 @@ int doOper(int n1, char opx[], int n2) { case '^': result = pow(n1, n2); break; - case 'sqrt': - result = sqrt(n1); default: cout << "invalid operator!\n"; break; @@ -49,58 +43,27 @@ int doOper(int n1, char opx[], int n2) { } int main(int argc, char* argv[]) { - // Main handler - if (argc > 1) { - if (argv[1] == "--help" || argv[1] == "-h") { - usage(); - return 0; - } - else if (argv[1] == "-r" || argv[1] == "--sqrt") { - if (argc > 2) { - int n1 = stoi(argv[2]); - int result =doOper(n1, argv[1], 0); - cout << n1 << " " << argv[1] << " = " << result << "\n"; - return 0; - } - else if (argc < 3) { - cout << "too many arguments!\n"; - usage(); - return 0; - } - else if (argc < 2) { - cout << "too few arguments!\n"; - usage(); - return 0; - } - else { - cout << "invalid argument!\n"; - usage(); - return 0; - } - } - else { - if (argc < 3) { - int n1 = stoi(argv[1]); - int n2 = stoi(argv[3]); - int result = doOper(n1, argv[2], n2); - cout << n1 << " " << argv[1] << " " << n2 << " = " << result << "\n"; - return 0; - } - else if (argc > 3) { - cout << "too many arguments!\n"; - usage(); - return 0; - } - else if (argc < 3) { - cout << "too few arguments!\ndid you want to calculate a square root? use --sqrt\n"; - usage(); - return 0; - } - else { - cout << "invalid argument; << " << argv[1] << " >> \n"; - usage(); - return 0; - } - } + // 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; } } |