|
发表于 2017-12-7 19:06:09
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是我写的计算器,但是这个计算器识别非法字符的部分不行,谁能帮我改进下
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float a,b;
char op;
cout<<"\n说明:此计算器仅支持数字的加减乘除运算,如果输入非法字符程序会停止运行,此时按任意键即可退出程序\n";
for(;;)
{
cin>>a>>op>>b;
if(isalpha(a)!=0)
cout<<" ";
else if(isalpha(b)!=0)
cout<<" ";
else
{
switch(op)
{
case'+':cout<<a+b<<'\n';
break;
case'-':cout<<a-b<<'\n';
break;
case'*':cout<<a*b<<'\n';
break;
case'/':
if(b==0)
cout<<"错误,除数不能为0 \n";
else
cout<<a/b<<'\n';
break;
default:cout<<"错误! \n";
}
}
}
return 0;
}
你要学习一下输入流处理的相关函数,包括clear,ignore,fail等,用来判断输入流的状态,因为如果输入流有错误,那么可能和你想要的结果完全不同
|
|