Advertisement
Guest User

Untitled

a guest
Nov 17th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. switch (current) {
  2.             case (current >= 48 && current <= 57):
  3.                 if (Calc->LHValue == 0) {
  4.                     Calc->LHValue = current - 48;
  5.                 } else if (Calc->LHValue != 0 && Calc->lastOperator == NULL) {
  6.                     Calc->LHValue *= 10;
  7.                     Calc->LHValue += current - 48;
  8.                 } else if (*(Calc->RHValue) == 0 && Calc->lastOperator != NULL) {
  9.                     *(Calc->RHValue) = current - 48;
  10.                 } else if (*(Calc->RHValue) != 0 && Calc->lastOperator != NULL) {
  11.                     *(Calc->RHValue) *= 10;
  12.                     *(Calc->RHValue) += current -48;
  13.                 }
  14.             case ('+'):
  15.                 Calc->lastOperator = current;
  16.                 Calc->prevResult = Calc->LHValue + *(Calc->RHValue);
  17.                 cout << Calc->prevResult << endl;
  18.             case ('-'):
  19.                 Calc->lastOperator = current;
  20.                 Calc->prevResult = Calc->LHValue - *(Calc->RHValue);
  21.                 cout << Calc->prevResult << endl;
  22.             case ('*'):
  23.                 Calc->lastOperator = current;
  24.                 Calc->prevResult = Calc->LHValue * *(Calc->RHValue);
  25.                 cout << Calc->prevResult << endl;
  26.             case ('/'):
  27.                 if (*(Calc->RHValue) != 0) {
  28.                     Calc->lastOperator = current;
  29.                     Calc->prevResult = Calc->LHValue / *(Calc->RHValue);
  30.                     cout << Calc->prevResult << endl;
  31.                 } else {
  32.                     cout << "no 0 ples" << endl;
  33.                     exit(1);
  34.                 }
  35.             case ('=') :
  36.                 switch (Calc->lastOperator) {
  37.                     case ('+'):
  38.                         Calc->prevResult += *(Calc->RHValue);
  39.                         cout << Calc->prevResult << endl;
  40.                     case ('-'):
  41.                         Calc->prevResult -= *(Calc->RHValue);
  42.                         cout << Calc->prevResult << endl;
  43.                     case ('*'):
  44.                         Calc->prevResult *= *(Calc->RHValue);
  45.                         cout << Calc->prevResult << endl;
  46.                     case ('/'):
  47.                         Calc->prevResult /= *(Calc->RHValue);
  48.                         cout << Calc->prevResult << endl;
  49.                 }
  50.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement