使用C语言编写登录注册
时间: 2024-03-15 21:20:30 浏览: 11
好的,这是一个简单的登录注册系统的C语言实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERS 100
#define MAX_USERNAME_LEN 20
#define MAX_PASSWORD_LEN 20
struct User {
char username[MAX_USERNAME_LEN];
char password[MAX_PASSWORD_LEN];
};
struct User users[MAX_USERS];
int num_users = 0;
void register_user() {
if (num_users == MAX_USERS) {
printf("注册失败:用户数量已达上限\n");
return;
}
char username[MAX_USERNAME_LEN];
char password[MAX_PASSWORD_LEN];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
for (int i = 0; i < num_users; i++) {
if (strcmp(users[i].username, username) == 0) {
printf("注册失败:用户名已存在\n");
return;
}
}
struct User user;
strcpy(user.username, username);
strcpy(user.password, password);
users[num_users++] = user;
printf("注册成功\n");
}
void login() {
char username[MAX_USERNAME_LEN];
char password[MAX_PASSWORD_LEN];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
for (int i = 0; i < num_users; i++) {
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0) {
printf("登录成功\n");
return;
}
}
printf("登录失败:用户名或密码错误\n");
}
int main() {
while (1) {
printf("请选择操作:1.注册 2.登录 3.退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
register_user();
break;
case 2:
login();
break;
case 3:
return 0;
default:
printf("无效操作,请重新选择\n");
}
}
}
```
这个程序使用了一个结构体数组来存储用户信息,其中包括用户名和密码。通过循环遍历数组来检查用户名是否已存在或密码是否匹配。用户可以选择注册、登录或退出程序。