编写一个根据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。当键入的两个操作数为0时,结束运算。
两个操作数和一个运算符(运算符只包括五个:+-*/%)。当键入的两个操作数为0时,结束运算。若出现其他非法运算符号,输出Error。若运算符为‘/’,除数为0时,输出Error。
每输入一组数据,则显示一个计算结果并换行等待键入下一组测试数据
最外层用while(1)的循环,内层用switch(ch)判断运算符号来进行计算。
回答如下:简单的C++程序(由于没有退出判断,会一直循环),代码如下:
#include<iostream>
using namespace std;
int main() //计算器,+ - * / %,非法符号报错,除数为0报错
{
int a,b;
char c;
while(1){
cout<<"输入操作数:";
cin>>a>>b;
if((a==0) && (b==0)){
cout<<"已退出"<<endl;
break;
}
cout<<"输入操作符号(+ - * / % ):";
cin>>c;
switch(c){
case '+':
cout<<"Result is "<<a+b<<endl;
continue;
case '-':
cout<<"Result is "<<a-b<<endl;
continue;
case '*':
cout<<"Result is "<<a*b<<endl;
continue;
case '/':
if(b==0){
cout<<"除数为0,ERROR"<<endl;
}
else{
cout<<"Result is "<<a/b<<endl;
}
continue;
case '%':
cout<<"Result is "<<a%b<<endl;
continue;
default:
cout<<"非法输入,ERROR"<<endl;
continue;
}
}
}