#include <iostream>
using namespace std;
int main( ) {
double num1, num2;
char op;
char choice;
do {
// Input numbers and operator
cout << "Enter first number: " ;
cin >> num1;
cout << "Enter an operator (+, -, *, /): " ;
cin >> op;
cout << "Enter second number: " ;
cin >> num2;
// Perform calculation
switch ( op) {
case '+' :
cout << "Result: " << num1 + num2 << endl;
break ;
case '-' :
cout << "Result: " << num1 - num2 << endl;
break ;
case '*' :
cout << "Result: " << num1 * num2 << endl;
break ;
case '/' :
if ( num2 ! = 0 )
cout << "Result: " << num1 / num2 << endl;
else
cout << "Error: Cannot divide by zero!" << endl;
break ;
default :
cout << "Error: Invalid operator!" << endl;
}
// Ask if the user wants to continue
cout << "Do you want to perform another calculation? (y/n): " ;
cin >> choice;
} while ( choice == 'y' || choice == 'Y' ) ;
cout << "Calculator closed. Goodbye!" << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgbnVtMSwgbnVtMjsKICAgIGNoYXIgb3A7CiAgICBjaGFyIGNob2ljZTsKCiAgICBkbyB7CiAgICAgICAgLy8gSW5wdXQgbnVtYmVycyBhbmQgb3BlcmF0b3IKICAgICAgICBjb3V0IDw8ICJFbnRlciBmaXJzdCBudW1iZXI6ICI7CiAgICAgICAgY2luID4+IG51bTE7CgogICAgICAgIGNvdXQgPDwgIkVudGVyIGFuIG9wZXJhdG9yICgrLCAtLCAqLCAvKTogIjsKICAgICAgICBjaW4gPj4gb3A7CgogICAgICAgIGNvdXQgPDwgIkVudGVyIHNlY29uZCBudW1iZXI6ICI7CiAgICAgICAgY2luID4+IG51bTI7CgogICAgICAgIC8vIFBlcmZvcm0gY2FsY3VsYXRpb24KICAgICAgICBzd2l0Y2ggKG9wKSB7CiAgICAgICAgICAgIGNhc2UgJysnOgogICAgICAgICAgICAgICAgY291dCA8PCAiUmVzdWx0OiAiIDw8IG51bTEgKyBudW0yIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnLSc6CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJSZXN1bHQ6ICIgPDwgbnVtMSAtIG51bTIgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICcqJzoKICAgICAgICAgICAgICAgIGNvdXQgPDwgIlJlc3VsdDogIiA8PCBudW0xICogbnVtMiA8PCBlbmRsOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJy8nOgogICAgICAgICAgICAgICAgaWYgKG51bTIgIT0gMCkKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8ICJSZXN1bHQ6ICIgPDwgbnVtMSAvIG51bTIgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8ICJFcnJvcjogQ2Fubm90IGRpdmlkZSBieSB6ZXJvISIgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgY291dCA8PCAiRXJyb3I6IEludmFsaWQgb3BlcmF0b3IhIiA8PCBlbmRsOwogICAgICAgIH0KCiAgICAgICAgLy8gQXNrIGlmIHRoZSB1c2VyIHdhbnRzIHRvIGNvbnRpbnVlCiAgICAgICAgY291dCA8PCAiRG8geW91IHdhbnQgdG8gcGVyZm9ybSBhbm90aGVyIGNhbGN1bGF0aW9uPyAoeS9uKTogIjsKICAgICAgICBjaW4gPj4gY2hvaWNlOwoKICAgIH0gd2hpbGUgKGNob2ljZSA9PSAneScgfHwgY2hvaWNlID09ICdZJyk7CgogICAgY291dCA8PCAiQ2FsY3VsYXRvciBjbG9zZWQuIEdvb2RieWUhIiA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==