Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- switch (current) {
- case (current >= 48 && current <= 57):
- if (Calc->LHValue == 0) {
- Calc->LHValue = current - 48;
- } else if (Calc->LHValue != 0 && Calc->lastOperator == NULL) {
- Calc->LHValue *= 10;
- Calc->LHValue += current - 48;
- } else if (*(Calc->RHValue) == 0 && Calc->lastOperator != NULL) {
- *(Calc->RHValue) = current - 48;
- } else if (*(Calc->RHValue) != 0 && Calc->lastOperator != NULL) {
- *(Calc->RHValue) *= 10;
- *(Calc->RHValue) += current -48;
- }
- case ('+'):
- Calc->lastOperator = current;
- Calc->prevResult = Calc->LHValue + *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('-'):
- Calc->lastOperator = current;
- Calc->prevResult = Calc->LHValue - *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('*'):
- Calc->lastOperator = current;
- Calc->prevResult = Calc->LHValue * *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('/'):
- if (*(Calc->RHValue) != 0) {
- Calc->lastOperator = current;
- Calc->prevResult = Calc->LHValue / *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- } else {
- cout << "no 0 ples" << endl;
- exit(1);
- }
- case ('=') :
- switch (Calc->lastOperator) {
- case ('+'):
- Calc->prevResult += *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('-'):
- Calc->prevResult -= *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('*'):
- Calc->prevResult *= *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- case ('/'):
- Calc->prevResult /= *(Calc->RHValue);
- cout << Calc->prevResult << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement