| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:请教:当cin输入数据类型不匹配时,下次循环到cin时就不执行了??
取消只看楼主 加入收藏
chief_fu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-3-25
收藏
 问题点数:0 回复次数:2 
请教:当cin输入数据类型不匹配时,下次循环到cin时就不执行了??
程序作用:循环输入一整数,判断是否为质数,当输入“0”时退出。
以下为原代码:
#include<iostream>
using namespace std;
int main()
{
    int i;
    int a;
    while(1)
    { cout<<"please enter the number:[enter 0 to exit]"<<endl;
    cout<<" a = ";
    cin>>a;
    cout<<a<<"rrrrrrrrrrrrrrrrrrr"<<endl;
    //cout<<a<<endl;              调试输入小数时,系统把小数点截断后赋值给a,a还是整型
    if(a==0)                                     //输入“0”退出    
        break;
    else if(a<0)                                 //输入负数时,显示输入错误,等待重新输入
    {
        cout<<"please enter a number that bigger than 0:"<<endl;
        continue;
    }
    else if(a==1)                                //把1作为特殊书处理
        cout<<a<<" is not a sushu"<<endl;
    else                                         //判断是否为质数
        {
        for(i=2;i<=a/2;i++)
        {   if( a%i==0)
{ cout<<a<<" is not a sushu."<<endl; break; } } if (i==(a/2+1)) cout<<a<<" is a sushu."<<endl; } } return 0; }


当输入为整数时,程序按预定的运行;当输入为带小数点的数时,cin>>a;就跳过不执行了;请问这是什么原因?当怎么解决这个问题?



搜索更多相关主题的帖子: cin 类型 数据 输入 
2007-03-25 17:11
chief_fu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-3-25
收藏
得分:0 
回复:(chief_fu)请教:当cin输入数据类型不匹配时,...

大哥,我求素数的函数,定义为float 型似乎是自己搬起石头砸自己的脚哦!
还望哪位大虾帮帮忙,我被那个输入输出流搞得头晕晕的。

2007-03-27 23:05
chief_fu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-3-25
收藏
得分:0 
回复:(chief_fu)请教:当cin输入数据类型不匹配时,...

谢谢各位的热心帮助!
其实你们几位的意思我明白,关键是我想搞清楚那个输入输出流为什么会报错。

2007-03-28 20:59
快速回复:请教:当cin输入数据类型不匹配时,下次循环到cin时就不执行了??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020464 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved