找回密码
 注册
搜索
热搜: java php web
查看: 906|回复: 3

【C++】关于整型变量赋值字符的问题,高手帮忙!

[复制链接]
发表于 2009-1-26 20:36:16 | 显示全部楼层 |阅读模式
【C++】关于整型变量赋值字符的问题,高手帮忙!
我编写了个小程序
#include <iostream.h>
#include <string.h>
void main()
{
     int tag;    //循环标记
     int h,m;   //小时,分钟

     do{
           tag=0;

           cout<<"几点:";
           cin>>h;

                 if(h<0 || h>12)
                 {
                        cout<<"输入小时有误"<<endl;
                        tag=1;
                 }
           
   
   
      }while(tag==1);


      do{
                tag=0;
                cout<<"几分:";
                cin>>m;

                if(m<0 || m>59)
                {
                       cout<<"输入分钟有误"<<endl;
                       tag=1;
                }
        }while(tag==1);

      cout<<"end"<<endl;
}

程序运行时,当对h这个整型变量输入任意字母,就出现一大堆的“几分:输入分钟有误”,有人知道到底是怎么回事吗?
截图如下






本帖子中包含更多资源

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

×
发表于 2009-1-26 21:19:54 | 显示全部楼层
回复

使用道具 举报

发表于 2009-1-26 21:08:34 | 显示全部楼层
导致这个问题的原因很简单! 你看看iostream库的相关资料就理解了!
cin>>int (或者float)的时候,如果输入一个字符而非数字,接收缓存区的字符不能被cin接收,而且也不会从缓存区中清除!
回复

使用道具 举报

发表于 2009-1-26 21:47:52 | 显示全部楼层
3楼说的没错
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 17:43

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

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