#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float a,b,s;
char op;
int flag=1;
cin>>a>>op>>b;
if(op=='+')
{
s=a+b;
}
else if(op=='-')
{
s=a-b;
}
else if(op=='*')
{
s=a*b;
}
else if(op=='/')
{
if(b==0)
{
flag=0;
}
else
{
s=a/b;
}
}
else if(op!='+'&&op!='-'&&op!='*'&&op!='/')
{
flag=0;
}
if(flag==1)
{
cout<<fixed<<setprecision(2);
cout<<s<<endl;
}
if(flag==0)
{
cout<<"Wrong input!"<<endl;
}
return 0;
}
输入计算符,怎么只输入一个字符,运行是对的,但是如果输入+-,程序会按-算,我想让系统报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qfl_sdu 2021-07-11 16:32关注
你可以判断字符串中有没有连续出现运算符,但是这个代码中,使用的是float和char来接收运算符,没法判断是否输入了连续的运算符,如果非要判断的话,可以判断op是运算符并且b是否是负数,如果同时满足上面的两个条件,就说明读入了连续的运算符,但是这样的话,这个代码就没法处理负数了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 matlab支持向量机使用错误
- ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
- ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
- ¥15 晶体塑性有限元——Damask求解
- ¥15 写出这个有没有人能写一下今天中午就要
- ¥30 设计一个图形用户界面来控制你机械臂的运动
- ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
- ¥15 前端返回pdf时不显示内容
- ¥50 如何在不能联网影子模式下的电脑解决usb锁
- ¥20 服务器redhat5.8网络问题