c语言编写一个登录注册系统
时间: 2024-02-22 09:57:36 浏览: 12
好的,下面是一个简单的登录注册系统的代码,具体实现可能会有些不同,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_USER_NUM 1000 // 最大用户数
#define USERNAME_LEN 20 // 用户名长度
#define PASSWORD_LEN 20 // 密码长度
struct User {
char username[USERNAME_LEN]; // 用户名
char password[PASSWORD_LEN]; // 密码
};
struct User user_list[MAX_USER_NUM]; // 用户列表
int user_num = 0; // 用户数
// 注册
void register_user() {
if (user_num >= MAX_USER_NUM) {
printf("用户数已达上限!\n");
return;
}
char username[USERNAME_LEN];
char password[PASSWORD_LEN];
printf("请输入用户名:");
scanf("%s", username);
// 检查用户名是否已存在
for (int i = 0; i < user_num; ++i) {
if (strcmp(user_list[i].username, username) == 0) {
printf("用户名已存在!\n");
return;
}
}
printf("请输入密码:");
scanf("%s", password);
// 添加新用户
strcpy(user_list[user_num].username, username);
strcpy(user_list[user_num].password, password);
user_num++;
printf("注册成功!\n");
}
// 登录
void login() {
char username[USERNAME_LEN];
char password[PASSWORD_LEN];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
// 检查用户名和密码是否匹配
for (int i = 0; i < user_num; ++i) {
if (strcmp(user_list[i].username, username) == 0
&& strcmp(user_list[i].password, password) == 0) {
printf("登录成功!\n");
return;
}
}
printf("用户名或密码错误!\n");
}
int main() {
while (1) {
int choice;
printf("\n请选择操作:\n");
printf("1. 注册\n");
printf("2. 登录\n");
printf("3. 退出\n");
printf("请输入数字选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
register_user();
break;
case 2:
login();
break;
case 3:
printf("再见!\n");
return 0;
default:
printf("无效的选项!\n");
break;
}
}
}
```
这是一个简单的控制台程序,每个用户只有一个用户名和密码。用户信息存储在数组中,可以注册、登录和退出。可以根据实际需求进行修改和扩展。