验证码

wangjian1987 2008-06-09 04:00:00
我编了个有关验证码的程序,出现了以下一些问题
一 按空格键确定输入一个字符完成时那空格键也算了一个字符
二 当验证码输入错误时按我的意图它会再产生一组随机验证码,但没有产生
具体程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main(){
int n=0,m=0,i,a[6],d[6],p;
char x;
printf("请输入所示的验证码: \n");
printf("数字结束按空格,字母结束不按空格\n");
do{
srand(time(0));
for(i=1;i<6;i++){
a[i]=rand()/(float)32767*91;
if(a[i]<10)
if(m<3){
m++;
printf("%d ",a[i]);
}
else
i--;
else if(a[i]>64)
if(n<2){
n++;
printf("%c ",a[i]);
}
else
i--;
else
i--;
}
putch('\n');
for(i=1;i<6;i++)
if(a[i]<10)
do{
p=scanf("%d",&d[i]);
if(p==1)
break;
scanf("%c",&d[i]);
}while(1);
else{
x=getchar();
if(x>='a'&&x<='z')
d[i]=(int)x-32;
else
d[i]=(int)x;
}
for(i=1;i<6;i++){
if(a[i]==d[i])
continue;
break;
}
if(i==6)
break;
system("cls");
printf("请输入正确的验证码:");
}while(1);
printf("\ngood!");
getch();
}
高手帮下忙啊(用c语言编)
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjian1987 2008-06-12
  • 打赏
  • 举报
回复
你说的真的好高深啊。。。。。。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zbing0203 的回复:]
加个判断 如果字符是空格就跳过
[/Quote]
呵呵!
多实践就能想到了……
wangjian1987 2008-06-09
  • 打赏
  • 举报
回复
谢谢提醒,我再去改下,你说我当初怎么就没有想到呢
wangjian1987 2008-06-09
  • 打赏
  • 举报
回复
谢了,我去试试
zbing0203 2008-06-09
  • 打赏
  • 举报
回复
加个判断 如果字符是空格就跳过
K行天下 2008-06-09
  • 打赏
  • 举报
回复
n=0;
m=0;
加到do后面

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧