MilaDimitrovaa

Calculator 1

Mar 3rd, 2022 (edited)
1,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <stdbool.h>
  6.  
  7. bool valid (int argc, char* argv[]) {
  8.     if (argc == 4) {
  9.         if (strtod(argv[1], NULL) != 0 && strtod(argv[3], NULL) != 0) {
  10.             if (strcmp(argv[2], "+") == 0 || strcmp(argv[2], "x") == 0 || strcmp(argv[2], "/") == 0 || strcmp(argv[2], "-") == 0) {
  11.                 return true;
  12.             } else {
  13.                 fprintf(stderr, "Invalid operation!\n");
  14.             }
  15.         } else {
  16.             fprintf(stderr, "Arguments are not numbers!\n");
  17.         }
  18.     } else {
  19.         fprintf(stderr, "Invalid argument count!\n");
  20.     }
  21.    
  22.     return false;
  23. }
  24.  
  25. int main (int argc, char* argv[]) {
  26.     double num1, num2;
  27.     double result = 0.0;
  28.    
  29.  
  30.     if (valid(argc, argv)) {
  31.         num1 = strtod(argv[1], NULL);
  32.         num2 = strtod(argv[3], NULL);
  33.        
  34.         if (strcmp(argv[2], "+") == 0) {
  35.             result = num1 + num2;
  36.         } else if (strcmp(argv[2], "x") == 0) {
  37.             result = num1 * num2;
  38.         } else if (strcmp(argv[2], "/") == 0) {
  39.             result = num1 / num2;
  40.         } else if (strcmp(argv[2], "-") == 0) {
  41.             result = num1 - num2;
  42.         }
  43.     } else {
  44.         return 1;
  45.     }
  46.  
  47.     printf("Result = %.2f\n", result);
  48.    
  49.     return 0;
  50. }
Add Comment
Please, Sign In to add comment