c语言实现简单的注册登录
时间: 2023-11-03 22:05:37 浏览: 38
好的,下面是一个简单的注册登录程序的C语言实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERS 10
#define MAX_USERNAME_LENGTH 20
#define MAX_PASSWORD_LENGTH 20
typedef struct {
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
} User;
int num_users = 0;
User users[MAX_USERS];
void register_user() {
if (num_users == MAX_USERS) {
printf("Error: maximum number of users reached\n");
return;
}
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
printf("Enter a username (up to %d characters): ", MAX_USERNAME_LENGTH);
scanf("%s", username);
for (int i = 0; i < num_users; i++) {
if (strcmp(users[i].username, username) == 0) {
printf("Error: username already taken\n");
return;
}
}
printf("Enter a password (up to %d characters): ", MAX_PASSWORD_LENGTH);
scanf("%s", password);
User user;
strcpy(user.username, username);
strcpy(user.password, password);
users[num_users++] = user;
printf("User %s registered successfully\n", username);
}
void login() {
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
printf("Enter your username: ");
scanf("%s", username);
printf("Enter your password: ");
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("Welcome, %s!\n", username);
return;
}
}
printf("Error: invalid username or password\n");
}
int main() {
int choice;
while (1) {
printf("Choose an option:\n");
printf("1. Register\n");
printf("2. Login\n");
printf("3. Quit\n");
scanf("%d", &choice);
switch (choice) {
case 1:
register_user();
break;
case 2:
login();
break;
case 3:
printf("Goodbye!\n");
return 0;
default:
printf("Error: invalid choice\n");
break;
}
printf("\n");
}
return 0;
}
```
这个程序使用一个结构体 `User` 来存储每个用户的用户名和密码,最多支持注册和登录 10 个用户。注册时,程序会要求输入用户名和密码,并检查用户名是否已被注册。登录时,程序会要求输入用户名和密码,并检查输入是否与已注册的用户匹配。如果匹配成功,程序会输出欢迎消息,否则会输出错误消息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)