c语言实现用户登录注册
时间: 2023-07-26 18:49:31 浏览: 72
以下是一个简单的 C 语言用户登录和注册的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERS 10 // 最多允许注册的用户数
#define MAX_NAME_LENGTH 20 // 用户名最大长度
#define MAX_PASSWORD_LENGTH 20 // 密码最大长度
// 用户结构体
struct user {
char name[MAX_NAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
};
// 用户列表
struct user users[MAX_USERS];
// 注册函数
void register_user() {
char name[MAX_NAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
printf("请输入用户名(不超过 %d 个字符):", MAX_NAME_LENGTH);
scanf("%s", name);
// 检查用户名是否已经存在
for (int i = 0; i < MAX_USERS; ++i) {
if (strcmp(users[i].name, name) == 0) {
printf("该用户名已经存在,请重新输入!\n");
return;
}
}
printf("请输入密码(不超过 %d 个字符):", MAX_PASSWORD_LENGTH);
scanf("%s", password);
// 在用户列表中添加新用户
for (int i = 0; i < MAX_USERS; ++i) {
if (users[i].name[0] == '\0') {
strcpy(users[i].name, name);
strcpy(users[i].password, password);
printf("注册成功!\n");
return;
}
}
printf("注册失败,用户列表已满!\n");
}
// 登录函数
void login() {
char name[MAX_NAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
printf("请输入用户名:");
scanf("%s", name);
printf("请输入密码:");
scanf("%s", password);
// 查找用户并进行验证
for (int i = 0; i < MAX_USERS; ++i) {
if (strcmp(users[i].name, name) == 0 && strcmp(users[i].password, password) == 0) {
printf("登录成功!\n");
return;
}
}
printf("用户名或密码错误!\n");
}
int main() {
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 注册\n");
printf("2. 登录\n");
printf("3. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
register_user();
break;
case 2:
login();
break;
case 3:
return 0;
default:
printf("无效的选择,请重新输入!\n");
}
printf("\n");
}
return 0;
}
```
该示例代码使用数组来存储用户列表,并且限制了最大的用户数量和用户名、密码的最大长度。在注册时,会检查用户名是否已经存在,并且在用户列表中添加新用户。在登录时,会查找用户并进行密码验证。