C语言小程序设计,初学者,请不要问我为什么这么简单的都不会,我是真的不会-_-||

假设有3个用户,用户名分别为"aaa”,”bbb”,
ccc”。密码分别为"aaa111”,”bbb111”, ”ccc111”。请编写一个程序,首先输入用户名,如果用户名错误请输出“用户不存在!”,程序结束。如果用户名正确,提示输入对应密码,3次密码错误输出“密码错误!”,密码正确屏幕出现4位数字的随机验证码并提示输入。验证码正确,输出“欢迎!”,验证码错误则重新出现新的验证码提示输入。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

struct User
{
    char username[10];
    char password[10];
};

int main()
{
    struct User users[3] = {{"aaa", "aaa111"}, {"bbb", "bbb111"}, {"ccc", "ccc111"}};
    char buffer[10], verification[5];

    printf("请输入用户名: ");
    scanf("%s", buffer);
    struct User *user = NULL;
    for (int i = 0; i < 3; i++)
        if (strcmp(users[i].username, buffer) == 0)
            user = &users[i];
    if (!user)
    {
        printf("用户不存在!\n");
        return 0;
    }

    int count = 0;
    do
    {
        printf("请输入密码: ");
        scanf("%s", buffer);
        if (strcmp(user->password, buffer) == 0)
        {
            break;
        }
        else
        {
            printf("密码错误!请重新输入\n");
            count++;
        }
    } while (count < 3);
    if (count == 3)
    {
        printf("密码错误!\n");
        return 0;
    }

    srand(time(NULL));
    while (1)
    {
        sprintf(verification, "%04d", rand() % 10000);
        printf("请输入验证码%s: ", verification);
        scanf("%s", buffer);
        if (strcmp(verification, buffer) == 0)
        {
            printf("欢迎\n");
            break;
        }
    }

    return 0;
}