我们上节课写了一个简易计算器,但我们能优化一下。
先来回顾一下上节课的代码:
#include<iostream>
using namespace std;
int main(){
int n,m;
char a;
cin>>n>>m>>a;
if(a=='+') cout<<n+m;
else if(a=='-') cout<<n-m;
else if(a=='*') cout<<n*m;
else if(a=='/'){
if(m!=0) cout<<n/m;
else cout<<"除数不能为零!";
}else cout<<"没有该符号!";
return 0;
}
为了优化,我们要学一个新东西:switch(不是那个玩的),我们来看一下:
#include<iostream>
using namespace std;
int main(){
int a=1;
switch(a){//判断a
case 1:cout<<"qwer";break;//如果a是1,那么输出qwer,然后跳转至switch外
case 2:cout<<"wsx";break;//如果a是2,那么输出wsx,然后跳转至switch外
default:cout<<"13dr";break;//如果以上都不是,那么输出13dr,然后跳转至switch外
}
return 0;
}
那么我们就能修改简易计算器了:
#include<iostream>
using namespace std;
int main(){
int n,m;
char a;
cin>>n>>m>>a;
switch(a){
case '+':cout<<a+b;break;
case '-':cout<<a-b;break;
case '*':cout<<a*b;break;
case '/':{
if(b!=0) cout<<a/b;
else cout<<"除数不能为零!";
break;
}//像if那样装"打包"
default:cout<<"没有该符号!";
}
return 0;
}
是不是好多了?
下一课就做一次1~6课的练习。
小道消息:第七课讲输出时保留***位小数