c语言代码编写登录注册
时间: 2023-10-17 09:09:57 浏览: 114
下面是一个简单的 C 语言代码实现登录注册的示例:
```c
#include <stdio.h>
#include <string.h>
// 最多可以注册 10 个用户
#define MAX_USERS 10
// 用户名和密码的最大长度
#define MAX_LEN 20
// 保存注册的用户名和密码
char usernames[MAX_USERS][MAX_LEN];
char passwords[MAX_USERS][MAX_LEN];
// 已经注册的用户数
int user_count = 0;
// 显示登录菜单
void show_login_menu() {
printf("Welcome to Login Page!\n");
printf("------------------------\n");
printf("1. Login\n");
printf("2. Register\n");
printf("3. Exit\n");
printf("Enter your choice: ");
}
// 显示主菜单
void show_main_menu() {
printf("\nWelcome to Main Page!\n");
printf("------------------------\n");
printf("1. View profile\n");
printf("2. Edit profile\n");
printf("3. Logout\n");
printf("Enter your choice: ");
}
// 注册新用户
void register_user() {
char username[MAX_LEN];
char password[MAX_LEN];
printf("\nEnter a username (max %d characters): ", MAX_LEN);
scanf("%s", username);
// 检查用户名是否已经被注册
for (int i = 0; i < user_count; i++) {
if (strcmp(username, usernames[i]) == 0) {
printf("Username already exists!\n");
return;
}
}
printf("Enter a password (max %d characters): ", MAX_LEN);
scanf("%s", password);
// 保存新用户的用户名和密码
strcpy(usernames[user_count], username);
strcpy(passwords[user_count], password);
user_count++;
printf("Registration successful!\n");
}
// 登录
void login() {
char username[MAX_LEN];
char password[MAX_LEN];
printf("\nEnter your username: ");
scanf("%s", username);
printf("Enter your password: ");
scanf("%s", password);
// 检查用户名和密码是否匹配
for (int i = 0; i < user_count; i++) {
if (strcmp(username, usernames[i]) == 0 && strcmp(password, passwords[i]) == 0) {
printf("Login successful!\n");
// 显示主菜单
int choice;
do {
show_main_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Viewing profile...\n");
break;
case 2:
printf("Editing profile...\n");
break;
case 3:
printf("Logging out...\n");
break;
default:
printf("Invalid choice!\n");
}
} while (choice != 3);
return;
}
}
printf("Invalid username or password!\n");
}
int main() {
int choice;
do {
show_login_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
login();
break;
case 2:
register_user();
break;
case 3:
printf("Exiting...\n");
break;
default:
printf("Invalid choice!\n");
}
} while (choice != 3);
return 0;
}
```
注意,这只是一个简单的示例,实际应用中需要考虑更多的安全性问题,比如密码的加密存储、防止 SQL 注入等。