要使用C語言編寫注冊登錄功能,你需要使用文件操作來存儲用戶的注冊信息和驗證登錄。下面是一個示例代碼,實現了簡單的注冊和登錄功能:
#include <stdio.h>
#include <string.h>
#define MAX_USERS 100
#define MAX_USERNAME 20
#define MAX_PASSWORD 20
typedef struct {
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
} User;
User users[MAX_USERS];
int numUsers = 0;
// 注冊函數
void registerUser() {
if (numUsers >= MAX_USERS) {
printf("用戶數量已達上限\n");
return;
}
User newUser;
printf("請輸入用戶名:");
scanf("%s", newUser.username);
printf("請輸入密碼:");
scanf("%s", newUser.password);
// 檢查用戶名是否已存在
for (int i = 0; i < numUsers; i++) {
if (strcmp(users[i].username, newUser.username) == 0) {
printf("該用戶名已存在\n");
return;
}
}
// 添加新用戶
users[numUsers] = newUser;
numUsers++;
printf("注冊成功\n");
}
// 登錄函數
void loginUser() {
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
printf("請輸入用戶名:");
scanf("%s", username);
printf("請輸入密碼:");
scanf("%s", password);
// 驗證登錄信息
for (int i = 0; i < numUsers; i++) {
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0) {
printf("登錄成功\n");
return;
}
}
printf("用戶名或密碼錯誤\n");
}
int main() {
while (1) {
int choice;
printf("1. 注冊\n");
printf("2. 登錄\n");
printf("3. 退出\n");
printf("請選擇操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
registerUser();
break;
case 2:
loginUser();
break;
case 3:
return 0;
default:
printf("無效的選擇\n");
break;
}
}
}
此代碼使用了一個全局數組 users
來存儲注冊用戶的信息,numUsers
記錄當前注冊的用戶數量。registerUser()
函數用于注冊新用戶,它會檢查用戶名是否已存在,如果不存在則將新用戶添加到數組中。loginUser()
函數用于驗證用戶登錄信息,它會遍歷數組中的用戶信息,檢查用戶名和密碼是否匹配。main()
函數提供了一個簡單的菜單,用戶可以選擇注冊、登錄或退出程序。