栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言字符串题目】生成随机五位数验证码,同一个验证码允许用户输入三次,若不正确则更换验证码;同时忽略验证码的大小写来比较字符串是否相等

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言字符串题目】生成随机五位数验证码,同一个验证码允许用户输入三次,若不正确则更换验证码;同时忽略验证码的大小写来比较字符串是否相等

【代码】

#include 
#include 
#include 
#include 
#define N 5
int count=0;
void identifyingCode(char s[],int n,int num)
{
    char str[]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int i,k,len;
    len=strlen(str);
    srand(num);
    for (i=0;i
        k=rand()%len;
        s[i]=str[k];
    }
    s[i]='';
}
int main()
{
    char code[N+1],str[N+1];
    int count=0,n=0,i,j;
    do
    {
        identifyingCode(code,N,n+count/3);
        printf("请输入五位数验证码:%sn",code);
        scanf("%s",str);
        count++;
//想办法把str和code里面大写字母全改小写
        for (i=0;i=65&&str[i]<=90)
                str[i]+=32;
        for (j=0;j=65&&code[j]<=90)
                code[j]+=32;
     }while(strcmp(code,str)!=0);
    printf("验证正确!n");
    return 0;
}

【解释】
这里定义一个函数用来生成随机验证码,第一个参数是定义好的字符串,第二个参数是验证码个数,第三个参数是随机数种子。
我们可以预先指定好一个str字符串,往里面放所有的数字和大小写字母,然后求出长度,在它长度的范围生成随机数作为下标,在str里面找,把随机数取出来放到原本的字符串code里。

然后mian函数里面用do while循环,循环条件还是code与用户输入的str是否全等的比较,不过在do里面,我们要把生成的验证码code和自己输入的str里面所有的大写都改成小写,达成一视同仁的目的。同时用count给循环计数,超过3,count/3就会加1,改变随机数种子,生成不一样的验证码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号