注册 登录
编程论坛 C++教室

c++ 输入2数大小 如果输入相同的数就重新返回到 输入项 这个要怎么实现

qmz360009300 发布于 2013-10-09 21:11, 671 次点击
#include<iostream>
int main()
{
    std::cout<<"enter to number"<<std::endl;
    int v1,v2,max;
    std::cin>>v1>>v2;
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
   
    std::cout<<"two number max ="<<max<<std::endl;
    return 0;

}

比如判断 输入v1 v2 2个数都是相同的数值 20的话 就提示重新输入 又循环到 std::cin>>v1>>v2;重新输入 这个要怎么实现
 
6 回复
#2
rjsp2013-10-10 09:02
"输入v1 v2 2个数都是相同的数值 20的话"
----- 听不懂
如果是“输入v1 v2 2个数都是相同的数值的话”,那就是 if( v1 == v2 )
如果是“输入v1 v2 2个数都是20的话”,那就是 if( v1==20 && v2==20 )

程序代码:
#include <iostream>

int main()
{
    std::cout<<"enter to number"<<std::endl;

    int v1, v2;
    for( ; std::cin>>v1>>v2 && v1==v2; );

    int max = v1<v2 ? v2 : v1;
    std::cout<<"two number max ="<<max<<std::endl;

    return 0;
}

#3
i802862013-10-10 11:41
办法有很多:
int main()
{
int v1,v2;
do
{
cin.clear();
cin.sync();
cin>>v1;
cin>>v2;
}while(v1==v2);
if (v1<v2)
cout<<v2;
else
cout<<v1;
return 0;
}
#4
在这里爬起2013-10-10 14:57
程序代码:
#include<iostream>
using namespace std;
int main()
{
    cout<<"enter to number"<<endl;
    int v1,v2,max;
    cin>>v1>>v2;
    while(v1==v2)
    {
    cin>>v1>>v2;
    }   
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
    cout<<"two number max ="<<max<<endl;
    return 0;

}
首先要判断v1,v2之间是否相等。相等就重新输入
#5
qmz3600093002013-10-10 22:39
嗯嗯谢谢。刚刚开始学。
#6
qmz3600093002013-10-10 23:20
#include<iostream>
int main()
{
    std::cout<<"enter to number"<<std::endl;
    int v1,v2,max;
    std::cin>>v1>>v2;
    while(v1==v2)   //判断v1,v2之间是否相等。相等就重新输入
    {
        std::cout<<"enter to number"<<std::endl;
        std::cin>>v1>>v2;
    }
    if(v1<v2)
    {
        max=v2;
    }else{
        max=v1;
    }
   
    std::cout<<"two number max ="<<max<<std::endl;
    return 0;

}
按照这样  我输入 2个a  就出现[attach]73077[/attach]  这样是什么问题
只有本站会员才能查看附件,请 登录


[ 本帖最后由 qmz360009300 于 2013-10-10 23:22 编辑 ]
#7
在这里爬起2013-10-11 15:06
回复 6楼 qmz360009300
LZ是一个勤学发问的人,不错啊。要有这样的精神。。。。
   你如果输入a的话,程序判断v1为一个未初始化的值,并不是它的类型,内存就默认保存为-858993460。后面的条件就直接默认是成立的,所以就一直死循环。
1