c语言用户注册和登录
时间: 2023-11-01 10:07:26 浏览: 73
好的,针对你的问题,我可以给出以下思路:
1. 用户注册
- 提示用户输入用户名和密码
- 将用户名和密码保存到文件中(可以使用文件操作函数)
2. 用户登录
- 提示用户输入用户名和密码
- 从文件中读取用户名和密码进行匹配
- 如果匹配成功,则登录成功,否则登录失败
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERNAME_LEN 20
#define MAX_PASSWORD_LEN 20
// 用户信息结构体
typedef struct {
char username[MAX_USERNAME_LEN];
char password[MAX_PASSWORD_LEN];
} UserInfo;
// 注册函数
void registerUser() {
UserInfo user;
printf("请输入用户名:");
scanf("%s", user.username);
printf("请输入密码:");
scanf("%s", user.password);
// 将用户信息保存到文件中
FILE *fp = fopen("users.txt", "a");
fprintf(fp, "%s %s\n", user.username, user.password);
fclose(fp);
printf("注册成功!\n");
}
// 登录函数
void loginUser() {
UserInfo user;
printf("请输入用户名:");
scanf("%s", user.username);
printf("请输入密码:");
scanf("%s", user.password);
// 从文件中读取用户信息进行匹配
FILE *fp = fopen("users.txt", "r");
char username[MAX_USERNAME_LEN], password[MAX_PASSWORD_LEN];
int found = 0;
while (fscanf(fp, "%s %s", username, password) != EOF) {
if (strcmp(username, user.username) == 0 && strcmp(password, user.password) == 0) {
found = 1;
break;
}
}
fclose(fp);
if (found) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误,登录失败!\n");
}
}
int main() {
int choice;
do {
printf("请选择操作:\n");
printf("1. 注册\n");
printf("2. 登录\n");
printf("3. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
registerUser();
break;
case 2:
loginUser();
break;
case 3:
printf("再见!\n");
break;
default:
printf("无效的选择,请重新输入!\n");
break;
}
} while (choice != 3);
return 0;
}
```