在C语言中,可以使用结构体和数组来实现存放账号密码的功能,并使用strcmp函数来比较输入的账号密码与已存储的账号密码是否相等。下面是一个示例代码:

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

#define MAX_ACCOUNTS 100
#define MAX_LENGTH 20

typedef struct {
    char account[MAX_LENGTH];
    char password[MAX_LENGTH];
} Account;

int main() {
    Account accounts[MAX_ACCOUNTS];
    int numAccounts = 0;

    // 存储账号密码
    strcpy(accounts[numAccounts].account, "admin");
    strcpy(accounts[numAccounts].password, "admin123");
    numAccounts++;

    // 从键盘输入账号密码
    char inputAccount[MAX_LENGTH];
    char inputPassword[MAX_LENGTH];

    printf("请输入账号:");
    scanf("%s", inputAccount);

    printf("请输入密码:");
    scanf("%s", inputPassword);

    // 比较输入的账号密码与已存储的账号密码
    int i;
    for (i = 0; i < numAccounts; i++) {
        if (strcmp(inputAccount, accounts[i].account) == 0 && strcmp(inputPassword, accounts[i].password) == 0) {
            printf("登录成功\n");
            break;
        }
    }

    if (i == numAccounts) {
        printf("账号密码错误\n");
    }

    return 0;
}

在上述代码中,首先定义了一个结构体Account来存储账号和密码。然后定义了一个包含多个Account类型的数组accounts来存储多个账号密码。通过numAccounts变量来记录存储的账号密码数量。

main函数中,首先存储了一个账号密码admin/admin123。然后从键盘输入账号和密码,并使用scanf函数将输入的字符串存储到inputAccountinputPassword数组中。

接下来使用strcmp函数来比较输入的账号密码与已存储的账号密码。通过遍历accounts数组,逐一比较inputAccountaccounts[i].accountinputPasswordaccounts[i].password的值是否相等。若账号密码匹配成功,则输出"登录成功",否则输出"账号密码错误"。

注意,上述代码只是一个简单示例,实际应用中,为了提高安全性,应该使用加密算法对密码进行加密存储,并且注意防止缓冲区溢出等安全问题


原文地址: http://www.cveoy.top/t/topic/izI3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录