xx小寂 2021-07-11 13:29 采纳率: 50%
浏览 16
已采纳

输入计算符,怎么只输入一个字符,运行是对的,但是如果输入+-,程序会按-算,我想让系统报错

#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;
}

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-07-11 16:32
    关注

    你可以判断字符串中有没有连续出现运算符,但是这个代码中,使用的是float和char来接收运算符,没法判断是否输入了连续的运算符,如果非要判断的话,可以判断op是运算符并且b是否是负数,如果同时满足上面的两个条件,就说明读入了连续的运算符,但是这样的话,这个代码就没法处理负数了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月15日
  • 创建了问题 7月11日

悬赏问题

  • ¥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网络问题