Advertisement
Guest User

פתרון תרגיל 3 שאלה 1

a guest
Apr 22nd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.83 KB | None | 0 0
  1. // Q1
  2. void mathStringCalc(const char mathString[])
  3. {
  4.     int j = 0, i = 0, num = 0, k = 0;
  5.     int numbers[101];
  6.     double result = 0;
  7.     char operation[101];
  8.  
  9.     for (j = 0; mathString[j] != '\0';j = i+3, ++k, num = 0) {
  10.         for (i = j; mathString[i] != ' ' && mathString[i] != '\0'; i++) {
  11.                 num = num * 10 + (mathString[i] - '0');
  12.         }
  13.         numbers[k] = num;
  14.         operation[k] = mathString[i + 1];
  15.     }
  16.     result = numbers[0];
  17.     for (int tmp = 0;operation[tmp] != '\0' ;tmp++) {
  18.         switch (operation[tmp]) {
  19.         case '+':
  20.             result = result + numbers[tmp+1];
  21.             break;
  22.  
  23.         case '-':
  24.             result = result - numbers[tmp + 1];
  25.             break;
  26.  
  27.         case '*':
  28.             result = result * numbers[tmp + 1];
  29.             break;
  30.  
  31.         case '/':
  32.             result = result / numbers[tmp + 1];
  33.             break;
  34.         default:
  35.             break;
  36.         }
  37.     }
  38.        
  39.     printf("%s = %.3lf\n", mathString, result);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement