CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

有问题向各位大侠请教,请帮忙阿!!!!!!!!!!!!!!!

楼主quick3210()2003-06-03 17:38:03 在 C/C++ / 工具平台和程序库 提问

比方说我要输入学号!也就是整型的数据!但在键盘上输入一个字符后,就会死掉!(在一个循环中);请问有什么方法能够判断重键盘上输入的数据是字符或是数字阿?(除了把学号也作为字符输入!) 问题点数:100、回复次数:5Top

1 楼micropentium6(小笨|曾经的美好)回复于 2003-06-03 17:45:08 得分 40

#include   <string.h>  
  int   isalpha(char);//是否字母  
  int   isdigit(int);     //是否数字  
  其实不用那些函数的:)  
  int   number;  
  cin>>number  
  while(cin.rdstate()==ios_base::failbit){  
          cin.clear();  
          cin.ignore();  
          cin>>i;  
  }    
  Top

2 楼rainbow1332(彩虹)回复于 2003-06-03 18:28:55 得分 40

其实也可以这样,因为cin返回值有自动的类型转化功能当其在while条件中    
   
  while   (!(cin   >>   intnumber))  
    {  
     
            cin.clear();       //如果不是整数清除  
            while   (cin.get()!='\n')   //把错误输入读入并和cin.clear();   合并清除  
                                    continue;  
        cout   <<   "Please   input   a   number:";  
   
    }Top

3 楼Skt32(荒城之月)回复于 2003-06-07 10:59:26 得分 20

 
   
  bool   checkdigital(char   ch)  
  {  
          return   ((ch>='0'   &&   ch<='9')?1:0);  
  }  
   
  bool   checkalphabet(char   ch)  
  {  
          return   ((ch>='a'&&ch<='z'   ||   ch>='A'&&   ch<='Z')?1:0);  
  }Top

4 楼musongfeihong(目送飞鸿)回复于 2003-06-07 11:16:06 得分 0

enough,nothing   else   worth   sayTop

5 楼pzytony(507)回复于 2003-06-07 11:50:08 得分 0

 
  up  
  Top

相关问题

  • 向各位请教
  • 向各位大狭请教
  • 向各位哥哥请教
  • 向各位请教 (很急)
  • 向各位高手请教
  • 向各位高手请教!!
  • 向各位请教两个问题,请各位前辈指教!
  • 请教各位各位!!
  • 向各位请教一个问题
  • 向各位请教!(愿给50分)

关键词

  • 字符
  • cin
  • 输入
  • clear

得分解答快速导航

  • 帖主:quick3210
  • micropentium6
  • rainbow1332
  • Skt32

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo