| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1024 人关注过本帖
标题:[求助]检查输入数据类型怎么写?
只看楼主 加入收藏
下雨浇花
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2007-9-19
结帖率:100%
收藏
 问题点数:0 回复次数:4 
[求助]检查输入数据类型怎么写?
void create()
{
int i,j;
int key[2000];
srand((int)time(NULL));
printf("\nPlease Input A Number Bewteen 100 To 2000:");
start:
scanf("%d",&j);
if(j>=100 && j<=2000)
{
for(i=1;i<=j;i++)
{
key[i] = rand()%3000;
}
}
else
{
printf("\nError! \nPlease Input Again:");
goto start;
}
printf("\nCREATE COMPLETE !");
getch();
}
代码如上面,按理应该只能输入100至2000之间的整数,
可是,如果输入字母,就会出错,这是什么回事???
搜索更多相关主题的帖子: 类型 数据 int goto 
2007-09-26 21:44
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
[CODE]

void create()
{
int i,j;
int key[2000];
srand((int)time(NULL));
while(1)
{
printf("\nPlease Input A Number Bewteen 100 To 2000:");
if(scanf("%d",&j)!=1) /* 输入字母重新输入 */
{
fflush(stdin);
continue;
}
if(j>=100 && j<=2000)
{
for(i=1;i<=j;i++)
{
key[i] = rand()%3000;
}
break;
}
else
printf("\nError! \nPlease Input Again:");
}
printf("\nCREATE COMPLETE !");
getch();
}

[/CODE]

只有想不到,没有做不到
2007-09-28 17:03
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 

goto语句一般很少用的,以后尽量不要用


只有想不到,没有做不到
2007-09-28 17:05
下雨浇花
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2007-9-19
收藏
得分:0 

问题解决了,谢谢了


花不浇,长不大;雨不下,不浇花...
2007-09-29 18:21
下雨浇花
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2007-9-19
收藏
得分:0 

我也想到了一种方法,就是用getchar()来判别
具体如下:
# include <stdio.h>
# include <stdlib.h>
# include <conio.h>
# include <time.h>
# define MAXSIZE 2000
int error = 0;
main()
{
int i,j;
unsigned key[MAXSIZE];
srand((unsigned)time(NULL));
while(error==0){
printf("\nPlease Input A Number Bewteen 100 To 2000:");
scanf("%d",&j);
if(j==getchar()){
error = 1;
continue;
}
if(j >= 100 && j <= 2000){
for(i = 1;i <= j;i ++)key[i] =(int)(3000.0* rand()/(RAND_MAX+1.0));
break;
}
}
printf("\nPRESS ANY KEY CREATE NUMBERS !\n");
getch();
for(i = 1;i <= j;i ++){
printf("%5d",key[i]);
if(i%10 == 0)printf("\n");
}
printf("The RAND_MAX Is:%d",RAND_MAX);
printf("\nCREATE COMPLETE !");
getch();
}


花不浇,长不大;雨不下,不浇花...
2007-09-29 18:40
快速回复:[求助]检查输入数据类型怎么写?
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031838 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved