wocao58 2017-01-03 11:12 采纳率: 100%
浏览 1668
已采纳

C语言程序问题,关于验证码编程的。

程序思路:程序用一个函数来将两个随机数相加(因为一个随机数变化不大,所以就用两个随机数相加)后打印出来,然后让用户输入数字,比较这两个数字,相等就提示正确! 不想等就重新输入,当验证码错误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;
}
  • 写回答

4条回答 默认 最新

  • KinoluKaslana 2017-01-03 11:35
    关注

    为啥?应为你注意看你的

      for (countdown = 10; countdown > 0; countdown--)
                {
                    system("cls");
                    printf("%d", countdown);
                    Sleep(1000);
                }
    ```循环,是不是显示了1就忘记清除了?
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证