注册登录系统代码c语言
时间: 2024-09-06 19:06:34 浏览: 24
在C语言中,创建一个简单的注册登录系统通常涉及到文件操作、用户数据存储以及基本的输入验证。以下是一个简化的示例,展示了如何在控制台上模拟这样的功能:
```c
#include <stdio.h>
#include <stdlib.h>
// 用户结构体
typedef struct {
char username[50];
char password[50];
} User;
// 存储用户数据(这里仅为演示,实际应用会用数据库)
User users[] = {{"user1", "pass1"}, {"user2", "pass2"}};
int num_users = sizeof(users) / sizeof(users[0]);
void register_user() {
printf("请输入新用户名:");
fgets(users[num_users].username, sizeof(users[num_users].username), stdin);
printf("请输入密码:");
fgets(users[num_users].password, sizeof(users[num_users].password), stdin);
// 对接收到的数据进行简单清理,去掉换行符
users[num_users].username[strlen(users[num_users].username) - 1] = '\0';
users[num_users].password[strlen(users[num_users].password) - 1] = '\0';
num_users++;
}
bool login(const char* username, const char* password) {
for (int i = 0; i < num_users; i++) {
if (strcmp(username, users[i].username) == 0 && strcmp(password, users[i].password) == 0) {
return true;
}
}
return false;
}
int main() {
int choice;
while (1) {
printf("\n请选择操作:\n1. 注册\n2. 登录\n3. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
register_user();
break;
case 2:
char username_input[50], password_input[50];
printf("请输入用户名:");
fgets(username_input, sizeof(username_input), stdin);
username_input[strlen(username_input) - 1] = '\0'; // 清理换行符
printf("请输入密码:");
fgets(password_input, sizeof(password_input), stdin);
password_input[strlen(password_input) - 1] = '\0'; // 清理换行符
if (login(username_input, password_input)) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误。\n");
}
break;
case 3:
exit(0);
default:
printf("无效选择,重新尝试。\n");
break;
}
}
return 0;
}
```