CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

输入数据验证的问题,帮帮忙!谢谢各位!

楼主cncsc(摇头虱子)2005-04-17 23:20:29 在 C/C++ / C语言 提问

1.   如何验证输入的数据只为   小数或者整数,或者负的小数或者整数,其他的都为非法字符?   我本来想用isdigit(),但是这个函数似乎只能验证整数的输入,如果带小数点,或者负号就不行了。  
   
   
  2.这个问题我很头痛!分数式输入的验证:  
      eg.  
                      printf("\nEnter   fraction   #1:   ");  
                      fgets(fraction1,   OUTPUT_MAX,   stdin);  
                      sscanf(fraction1,   "%d/%d",   &s1,   &s2);  
               
                      printf("Enter   fraction   #2:   ");  
                      fgets(fraction2,   OUTPUT_MAX,   stdin);  
                      sscanf(fraction2,   "%d/%d",   &s3,   &s4);  
   
      上面的代码是要输入一个分数式,如:1/2,然后分别提取“/“   左右2边的数字。  
      可是如何验证输入的内容正确呢?这个问题很头痛~~想了好久了。我也是过用isdigit验证s1,s2,可是不知道什么原因,没有效果。但是编译的时候却没有错误。还有因为带"/"号,搞的我好乱现在,希望各位能帮帮我!  
  问题点数:20、回复次数:3Top

1 楼cncsc(摇头虱子)回复于 2005-04-18 00:03:44 得分 0

关于第2点,我试过用  
  if(!isdigit(s1))  
  {        
        printf("wrong!");  
  }  
   
  可是不管我输入的是1/2还是jfkdjdk/dfskaf  
  它都输出wrong,这是怎么回事啊?Top

2 楼pcboyxhy(-273.15℃)回复于 2005-04-18 07:29:06 得分 20

.函数sscanf:相当与sprintf的反函数,它是将数组中的字符串按固定格式读取到变量中,返回值是实际赋值的变量数,其中不包括*号跳过的域,零代表未赋值域,EOF表示第一次赋值前已经出错.    
   
   
  #include   <stdio.h>  
  #include   <stdlib.h>  
   
  int   main(int   argc,   char   *argv[])  
  {  
          int   s1,   s2,   ok;  
          char   fraction1[100];  
          printf("\nEnter   fraction   #1:   ");  
          fgets(fraction1,   10,   stdin);  
          ok=sscanf(fraction1,   "%d/%d",   &s1,   &s2);  
          printf("%d",   ok);     //ok==2   的时候表示输入正确  
          system("PAUSE");  
          return   0;  
  }Top

3 楼cncsc(摇头虱子)回复于 2005-04-18 09:02:50 得分 0

谢谢!可是明白了!Top

相关问题

  • 输入数据的验证!!!高份征解!!!
  • 请问如何验证textbox中输入的数据?
  • 怎样设置客户端数据输入验证提示?
  • 在数据窗口中如何验证用户是否输入了数据
  • 数据输入问题~!各位看看
  • 送分(初学者)关于输入数字型数据的合法性验证
  • 在表单中如何验证没有输入数据,(即使是空格)
  • 在VB中如何进行程序的数据输入有效性验证?
  • 如何动态的验证DATAWINDOW中所输入的数据不是空的。
  • dw中输入数据验证的问题,知道的人应该很简单。

关键词

  • 验证
  • fraction
  • 输入
  • sscanf
  • 整数
  • isdigit
  • fgets
  • stdin
  • 问题
  • printf

得分解答快速导航

  • 帖主:cncsc
  • pcboyxhy

相关链接

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

广告也精彩

反馈

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