定义 int login()函数,该函数中预置管理员账户信息,功能是:登录时输入用户名和密码,若登录成功返回1,否则返回0。允许输错3次登录信息
时间: 2023-06-04 08:06:59 浏览: 65
好的,我可以帮你解答这个问题。请看下面的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TRY_TIMES 3 // 允许输错的最大次数
// 预置的管理员账户信息
#define ADMIN_USER "admin"
#define ADMIN_PASSWD "123456"
int login()
{
char username[20], password[20];
int tries = 0;
do {
printf("请输入用户名:");
gets(username); // 这里使用 gets 函数不太安全,可以使用 fgets 替代
printf("请输入密码:");
gets(password);
if (strcmp(username, ADMIN_USER) == 0 && strcmp(password, ADMIN_PASSWD) == 0) {
printf("登录成功!\n");
return 1;
} else {
printf("用户名或密码错误,请重试。\n");
tries++;
}
} while (tries < MAX_TRY_TIMES);
printf("尝试次数过多,登录失败。\n");
return 0;
}
int main()
{
if (login()) {
printf("欢迎管理员登录!\n");
// TODO: 在这里添加管理员的操作界面
} else {
printf("非管理员用户,无权限登录。\n");
}
return 0;
}
```
上面的代码定义了一个 `login()` 函数,实现了输入用户名和密码进行登录验证的功能。预置了一个管理员账户信息,如果输入的用户名和密码与管理员的账户信息匹配,则返回 1,否则返回 0。
在 `main()` 函数中,如果 `login()` 返回值为 1,表示登录成功,打印欢迎信息,可以添加管理员的操作界面。如果返回值为 0,表示非管理员用户,无权限登录。
注:以上代码仅供参考,实际生产环境需要更加严格的登录验证和安全保障措施。