管理员和普通用户登录c语言
时间: 2024-02-14 15:07:24 浏览: 29
在C语言中,可以使用文件读写来实现一个简单的管理员和普通用户登录系统。
首先,创建一个存储用户名和密码的文件(比如"user.txt"),其中每行存储一个用户名和密码,用空格或其他分隔符隔开。
然后,定义一个结构体来存储用户名和密码:
```
struct User {
char username[20];
char password[20];
};
```
接着,编写一个函数来读取"user.txt"文件,将用户名和密码存储到一个数组中:
```
void readUsers(struct User users[], int n) {
FILE *fp;
fp = fopen("user.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return;
}
for (int i = 0; i < n; i++) {
fscanf(fp, "%s %s", users[i].username, users[i].password);
}
fclose(fp);
}
```
然后,编写一个函数来实现登录功能:
```
int login(struct User users[], int n, char *username, char *password) {
for (int i = 0; i < n; i++) {
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0) {
return i; // 返回用户在数组中的下标
}
}
return -1; // 登录失败
}
```
最后,在主函数中调用上述函数实现登录功能:
```
int main() {
struct User users[100];
int n = 0;
readUsers(users, n); // 从文件中读取用户信息
n = 10; // 假设有10个用户
char username[20], password[20];
printf("Enter username: ");
scanf("%s", username);
printf("Enter password: ");
scanf("%s", password);
int index = login(users, n, username, password);
if (index != -1) {
// 登录成功,根据用户类型进行不同的操作
if (index == 0) {
// 管理员操作
} else {
// 普通用户操作
}
} else {
printf("Login failed.\n");
}
return 0;
}
```
需要注意的是,上述代码只是实现了一个简单的登录系统,并没有进行密码加密等安全措施,实际应用中需要注意安全问题。