QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
41
查看: 92|回复: 4

[已解决]计算器

[复制链接]
最佳答案
0 
累计签到:7 天
连续签到:1 天
Marth 发表于 2017-12-7 19:06:09 From FishC Mobile 924 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

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;
}
最佳答案
2017-12-7 20:58:19
你要学习一下输入流处理的相关函数,包括clear,ignore,fail等,用来判断输入流的状态,因为如果输入流有错误,那么可能和你想要的结果完全不同
楼层
跳转到指定楼层
最佳答案
0 
累计签到:7 天
连续签到:1 天
Marth  楼主| 发表于 2017-12-7 19:07:26 From FishC Mobile | 显示全部楼层
输入字母什么的,直接就停止运行了,不会按我写的输出空格符。
最佳答案
359 
累计签到:181 天
连续签到:30 天
BngThea 发表于 2017-12-7 20:58:19 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
你要学习一下输入流处理的相关函数,包括clear,ignore,fail等,用来判断输入流的状态,因为如果输入流有错误,那么可能和你想要的结果完全不同
最佳答案
0 
累计签到:7 天
连续签到:1 天
Marth  楼主| 发表于 2017-12-7 21:59:02 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-12-7 20:58
你要学习一下输入流处理的相关函数,包括clear,ignore,fail等,用来判断输入流的状态,因为如果输入流有错 ...

能不能用异常处理来分辨非法字符?
最佳答案
359 
累计签到:181 天
连续签到:30 天
BngThea 发表于 2017-12-7 22:01:09 From FishC Mobile | 显示全部楼层
Marth 发表于 2017-12-7 21:59
能不能用异常处理来分辨非法字符?

可以,但是流处理你是绕不开的

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-16 09:37

快速回复 返回顶部 返回列表