C++防止误输的处理

在C++输入的时候,经常需要判断输入的值是否正确。


代码


#include<iostream>

int fun_min(const int &a,const int &b);
int fun_max(const int &a,const int &b,const int &min);

int main()
{
    using namespace std;
    int a,b,min,max;
    cout<<"请输入第一个整数:"<<endl;

    while(!(cin>>a)||a<1)
    {
        cin.clear();
        if(cin.get()!='\n')
            continue;
    }

    cout<<"请输入第二个整数:"<<endl;
    while(!(cin>>b)||b<1)
    {
        cin.clear();
        if(cin.get()!='\n')
            continue;
    }

    min=fun_min(a,b);
    max=fun_max(a,b,min);

    cout<<"最大公约数:"<<min<<endl
        <<"最小公倍数:"<<max<<endl;
    return 0;
}

int fun_min(const int &a,const int &b)
{
    int temp,min;

    if(b>a)
        temp=a;
    else
        temp=b;

    for(min=temp;min>0;min--)
        if( (a%min==0) && (b%min==0) )
            return min;
}


int fun_max(const int &a,const int &b,const int &min)
{
    int max=a/min*b;

    return max;
}

主要代码:


    while(!(cin>>a)||a<1)
    {
        cin.clear();
        if(cin.get()!='\n')
            continue;
    }

小小的解释下:这里就是当输出不成功或者没有输入并且输入的值小于1的时候执行while中的代码,进行重新输入

Over!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值