C语言编写一个用户密码设置程序。

功能:输入自己的学号和名字后,提示设6位登录密码,对输入密码进行加密处理并存储,然后提示确认密码并输入密码,对输入密码与原密码进行验证,错误密码输入次数超过三次则程序结束。


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

#define MAX_PASSWORD_LEN 6  // 密码的最大长度
#define MAX_TRIES 3  // 最大尝试次数

int main() {
    char id[16];  // 学号
    char name[16];  // 名字
    char password[MAX_PASSWORD_LEN + 1];  // 密码
    char confirmed_password[MAX_PASSWORD_LEN + 1];  // 确认密码
    int i;
    int tries = 0;  // 尝试次数

    // 输入学号和名字
    printf("Enter your ID: ");
    scanf("%s", id);
    printf("Enter your name: ");
    scanf("%s", name);

    // 提示设置密码
    printf("Set your password (6 characters max): ");
    scanf("%s", password);

    // 对密码进行加密处理
    for (i = 0; i < strlen(password); i++) {
        password[i] = toupper(password[i]);
    }

    // 提示确认密码
    printf("Confirm your password: ");
    scanf("%s", confirmed_password);

    // 验证密码
    while (strcmp(password, confirmed_password) != 0 && tries < MAX_TRIES) {
        printf("Wrong password. Try again: ");
        scanf("%s", confirmed_password);
        tries++;
    }

    // 判断是否超过最大尝试次数
    if (tries == MAX_TRIES) {
        printf("Exceeded maximum number of tries.\n");
    } else {
        printf("Password set successfully.\n");
    }

    return 0;
}