㈠ 用c语言编程求 18位 身份证的验证码
除了楼上所说的,在补充一点
1:char id[19]; //最后一个字节是用于'\0'的
2:除了这个原因,还有一个更重要的是gets得到的都是字符,在你的jisuan函数里,for循环中
result+=((*p)*(*q));
这句话其实是字符的ascII码相乘的,并不是数字相乘,可以改成
(((*p) - '0') * ((*q) - '0'));
这样就是对应字符的数字相乘了(这个很好理解吧?)
3:虽然jisuan返回的是个比较小的数,但是在for循环里计算的时候result定义成char型的会有溢出,会对你的结果有影响吧,我建议改成unsigned int
㈡ 怎样实现输入验证码呢要用C语言的
#include <stdio.h>
#include <string.h>
main()
{
char a[15],i=3;
do{
printf("Password:");
gets(a);
if(strcmp(a,"hello")==0) break;//这里请连到你的密码文件或者是连接到数据库验证,这里是 hello
}while(--i);
if(i==0) printf("Input errer 3 num.System close!\n");
else
{
//这里写入你密码正确要执行的代码
}
}
㈢ linux下开发二维码识别器,用C语言,求大神指点
你这是要识别桌面上的二维码还是通过摄像头识别二维码
如果是桌面上的
linux C语言去做这个识别二维码,这个貌似难度有太大。而且很难找到资料的。
有时候要知道变通,你为什么不用java的jar库去做识别呢,而且很多的现成资料可以查看,
如果你非得用C去做,那么建议你查询一下libqrencode 这个用C写的库
㈣ C语言编写条形码识别
使用C语言做条形码可以按照以下流程:
1 查找条形码生成规则,或者直接找C语言的开源代码,制作封装字符串转条形码的接口函数;
2 读入要转换的数据;
3 将要转换的数据,通过1中的函数接口,转为图形点阵值。由于条形码只有黑白两色,所以这里可以用0,1两种值用矩阵表示;
4 根据编译器,启动图形界面,初始化图形区域;
5 在图形区域的空间内,按照0 1值,在对应点上上色,其中0上白色,1上黑色。
至此,条形码显示成功。
㈤ c语言 密码验证
用getch()非回显函数就可以了
#include <stdio.h>
#include <conio.h>
char mypw[10]="123";//预先设定的密码
int check(char a[])
{
int len=0;
while(len<10&&a[len]!=0x0d&&a[len]!='\0')
{
if(mypw[len]!=a[len]) return 0;
len++;
}
return 1;
}
int main()
{
char pw[10];//用户输入的密码
int i;
for(i=0;i<10;i++) pw[i]='\0';
int len=0;
printf("输入密码\n");
while(len<10&&0x0d!=(pw[len]=getch()))//用getch()非回显函数
{
len++;
printf("*");
}
printf("\n");
if(check(pw)) printf("密码正确");
else printf("密码错误");
getchar();
return 0;
}