程序思路:程序用一个函数来将两个随机数相加(因为一个随机数变化不大,所以就用两个随机数相加)后打印出来,然后让用户输入数字,比较这两个数字,相等就提示正确! 不想等就重新输入,当验证码错误3次后等待十秒,然户重新输入。
请大神拷回去运行一下,我运行的时候,在三次失败等待10秒后输入正确的验证码总是错误的,求大神帮忙看一下 附代码。
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
#include <stdlib.h>
int random_num(void);
int bi_jiao(int num1, int num2);
int main(void)
{
int countdown;
int c = 1;
int a = 3;//输入按错计数
int num;
int number;
while (c)
{
num = random_num();
printf("\n");
printf("请输入上面的数字:\n");
scanf_s("%d", &number, 10);
c = bi_jiao(num, number);
if (c == 1)
{
--a;
puts("验证码错误,请重新输入!");
printf("剩余次数%d\n", a);
_getch();
system("cls");
}
if (a == 0)
{
a = 3;
printf("请等候10秒。\n");
Sleep(1000);
for (countdown = 10; countdown > 0; countdown--)
{
system("cls");
printf("%d", countdown);
Sleep(1000);
}
}
}
system("cls");
puts("正确!");
_getch();
return 0;
}
int random_num(void)//产生随机数
{
int num1;
int num2;
srand((unsigned)time(NULL));
num1 = rand();
num2 = rand();
printf("%d", num1 + num2);
return (num1 + num2);
}
int bi_jiao(int num, int number)//与生成的随机数作比较
{
if (num == number)
return 0;
else
return 1;
}