
一个最简单的计算器支持+ - × ÷ 四种运算。输入只有一行:两个参加运算的数和一个运算符(+ - × ÷)。输出运算表达式及结果。
考虑下面两种情况:
- 如果出现除数为
0的情况,则输出:Divided by zero! - 如果出现无效的运算符(即不为
+-×÷之一),则输出:Invalid operator!
输入样例:
34 + 56
输出样例:
二、题意分析34+56=89
设num1 num2存放两个参加运算的 *** 作数,op存放运算符。
-
当
op为+号时,实现加法 *** 作 -
当
op为-号时,实现减法 *** 作 -
当
op为*号时,实现乘法 *** 作 -
当
op为/号时,判断num2的值,如果不为0,实现除法 *** 作,如果为0,则输出Divided by zero! -
**当
op不是以上四种运算符时,输出Invalid operator!
此程序可以用if语句实现,但是,C++ 提供了解决此类问题的最佳方法:
switch语句
三、程序如下:
#include
using namespace std;
int main ()
{
float num1,num2; //用float类型定义是因为用户可能输入小数
char op; //运算符定义
cin>>num1>>op>>num2; //输入
switch(op) { //switch语句
//判断加法
case'+':cout<<num1<<op<<num2<<"="<<num1+num2<<endl; break;
//判断减法
case'-':cout<<num1<<op<<num2<<"="<<num1-num2<<endl; break;
//判断乘法
case'*':cout<<num1<<op<<num2<<"="<<num1*num2<<endl; break;
//判断除法
case'/':{
if(num2!=0) cout<<num1<<op<<num2<<"="<<num1/num2<<endl; else cout<<"Divided by zero!"<<endl; break;
}
//判断非法运算符
default:cout<<"Invalid operator!"<<endl; break;
}
return 0;
}
运行结果:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)