1.验证码
(1)纯4位数字的验证码
知识点:条件/判断——if语句
知识点:关系运算符:== 表示判断是否相等(不等于!= 小于< 小于等于<= 大于> 大于等于)=)
(2)纯1位字母的验证码
getchar()输入一个字符
putchar()输出一个字符
不分大小写
a :97 b :98 ...
A :65 B :66 ...
相差32
知识点:逻辑运算符 并且&& 或者|| 非!
(3)纯4位字母的验证码,不分大小写
(4)随机验证码。自学随机函数rand。
分层1:纯4位数字(随机)
分层2:字母数字混合,第1、3位是字母,第2、4位是数字(数字随机)
分层3:字母数字混合,第1、3位是字母(字母随机),第2、4位是数字(数字随机)
1-26数字,建立对应关系:1-a 2-b
例如
这个是固定的,无法改变的验证码
#include<stdio.h>
void main()
{
int num = 8797,pnum;
printf("验证码:%d\n",num);
printf("请输入你所看到的验证码:\n");
scanf("%d",&pnum);
if(pnum == num)
{
printf("验证通过\n");
}
else
{
printf("验证失败\n");
}
和
#include<stdio.h>
void main()
{
char ch1 = 'x',ch2 = 'a',ch3 = 'c',ch4 = 'f',pch1,pch2,pch3,pch4;
printf("验证码:%c%c%c%c\n",ch1,ch2,ch3,ch4);
printf("请输入你所看到的验证码:不分大小写\n");
//pch1 = getchar();
//pch2 = getchar();
//pch3 = getchar();
//pch4 = getchar();
scanf("%c%c%c%c",&pch1,&pch2,&pch3,&pch4);
//putchar(pch);
if(pch1<='Z' && pch1>='A')
{
pch1 = pch1 + 32;
}
if(pch2<='Z' && pch2>='A')
{
pch2 = pch2 + 32;
}
if(pch3<='Z' && pch3>='A')
{
pch3 = pch3 + 32;
}
if(pch4<='Z' && pch4>='A')
{
pch4 = pch4 + 32;
}
if(ch1 == pch1 && ch2 == pch2 && ch3 == pch3 && ch4 == pch4)
{
printf("验证通过\n");
}
else
{
printf("验证失败\n");
}
}
然后可以结合上面的写出随机验证码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
system("color FA");
int ch2,ch4,pch2,pch4;
char ch1,ch3,pch1,pch3;
srand((unsigned)time(NULL));
ch1=rand()%26+97;
ch2=rand()%10;
ch3=rand()%26+97;
ch4=rand()%10;
printf("验证码:%c%d%c%d\n",ch1,ch2,ch3,ch4);
printf("请输入显示的验证码[不区分大小写]:\n");
scanf("%c%d%c%d",&pch1,&pch2,&pch3,&pch4);
if(pch1<='Z' && pch1>='A')
{
pch1 = pch1 + 32;
}
if(pch3<='Z' && pch3>='A')
{
pch3 = pch3 + 32;
}
if(ch1 == pch1 && ch2 == pch2 && ch3 == pch3 && ch4 == pch4)
{
printf("验证成功\n");
}
else
{
printf("验证失败\n");
}
}
更多推荐
C语言验证码--自学第三天
发布评论