用C语言设计一个函数,该函数功能为用户输入用户名和密码,如果两者都正确,进入返回一,否则用户重新输入用户名和密码,若输入错误超过三次,则结束程序。用户正确的用户名和密码保存在密码.txt文件中
时间: 2024-02-12 14:08:50 浏览: 64
好的,根据您的要求,我来设计一个函数,代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_TRIES 3 // 最大重试次数
int user_login(void) {
char username[20], password[20];
char correct_username[20], correct_password[20];
FILE *fp = fopen("密码.txt", "r");
if (fp == NULL) {
printf("无法打开密码文件!\n");
return -1;
}
// 读取正确的用户名和密码
fscanf(fp, "%s%s", correct_username, correct_password);
int tries = 0;
while (tries < MAX_TRIES) {
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
if (strcmp(username, correct_username) == 0 && strcmp(password, correct_password) == 0) {
printf("登录成功!\n");
fclose(fp);
return 1;
} else {
printf("用户名或密码错误,请重试!\n");
tries++;
}
}
printf("重试次数超过%d次,程序结束!\n", MAX_TRIES);
fclose(fp);
return 0;
}
```
这个函数会从密码.txt文件中读取正确的用户名和密码,然后让用户输入用户名和密码。如果输入正确,函数返回1,表示登录成功;如果输入错误,函数会提示用户重新输入,最多重试3次。如果重试次数超过3次,函数返回0,表示登录失败。
您可以在主函数中调用这个函数来实现用户登录功能。
阅读全文