c 存档登录注册界面代码
时间: 2023-09-10 13:08:29 浏览: 35
以下是一个简单的 C 语言存档登录注册界面代码:
```c
#include <stdio.h>
#include <string.h>
struct User {
char username[50];
char password[50];
};
void registerUser(struct User users[], int *numUsers) {
struct User newUser;
printf("Enter username: ");
scanf("%s", newUser.username);
for (int i = 0; i < *numUsers; i++) {
if (strcmp(users[i].username, newUser.username) == 0) {
printf("Username already exists. Please choose a different username.\n");
return;
}
}
printf("Enter password: ");
scanf("%s", newUser.password);
users[*numUsers] = newUser;
(*numUsers)++;
printf("Registration successful!\n");
}
void loginUser(struct User users[], int numUsers) {
char username[50], password[50];
printf("Enter username: ");
scanf("%s", username);
printf("Enter password: ");
scanf("%s", password);
for (int i = 0; i < numUsers; i++) {
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0) {
printf("Login successful!\n");
return;
}
}
printf("Invalid username or password.\n");
}
int main() {
struct User users[100];
int numUsers = 0;
int choice;
do {
printf("1. Register\n");
printf("2. Login\n");
printf("3. Exit\n");
printf("Enter choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
registerUser(users, &numUsers);
break;
case 2:
loginUser(users, numUsers);
break;
case 3:
printf("Exiting program.\n");
break;
default:
printf("Invalid choice.\n");
break;
}
} while (choice != 3);
return 0;
}
```
该程序使用一个结构体数组来存储用户信息。用户可以选择注册或登录。如果用户选择注册,则会提示用户输入用户名和密码,并将该用户添加到结构体数组中。如果用户选择登录,则会提示用户输入用户名和密码,并在结构体数组中查找是否存在匹配的用户。如果存在,则登录成功,否则显示错误消息。程序使用一个循环来重复显示用户菜单,直到用户选择退出。