c語言系統(tǒng)用戶名不重復(fù)怎么設(shè)置

小億
145
2023-09-18 17:10:51
欄目: 編程語言

在C語言中,可以使用以下方法來設(shè)置系統(tǒng)用戶名不重復(fù):

  1. 使用結(jié)構(gòu)體數(shù)組:創(chuàng)建一個(gè)結(jié)構(gòu)體數(shù)組,每個(gè)結(jié)構(gòu)體包含用戶名和密碼等信息。在用戶注冊(cè)時(shí),遍歷數(shù)組檢查是否已存在相同的用戶名,如果存在則提示用戶重新選擇用戶名;如果不存在,則將新用戶信息添加到數(shù)組中。
#include <stdio.h>
#include <string.h>
#define MAX_USERS 100
struct User {
char username[20];
char password[20];
};
int main() {
struct User users[MAX_USERS];
int numUsers = 0;
// 注冊(cè)新用戶
printf("請(qǐng)輸入用戶名:");
char newUsername[20];
scanf("%s", newUsername);
for (int i = 0; i < numUsers; i++) {
if (strcmp(users[i].username, newUsername) == 0) {
printf("用戶名已存在,請(qǐng)重新選擇。\n");
return 0;
}
}
strcpy(users[numUsers].username, newUsername);
// 輸入密碼等其他信息...
numUsers++;
return 0;
}
  1. 使用鏈表:創(chuàng)建一個(gè)鏈表,每個(gè)節(jié)點(diǎn)包含用戶名和密碼等信息。在用戶注冊(cè)時(shí),遍歷鏈表檢查是否已存在相同的用戶名,如果存在則提示用戶重新選擇用戶名;如果不存在,則創(chuàng)建一個(gè)新節(jié)點(diǎn),并將新用戶信息添加到鏈表中。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct User {
char username[20];
char password[20];
struct User* next;
};
int main() {
struct User* head = NULL;
struct User* curr = NULL;
// 注冊(cè)新用戶
printf("請(qǐng)輸入用戶名:");
char newUsername[20];
scanf("%s", newUsername);
curr = head;
while (curr != NULL) {
if (strcmp(curr->username, newUsername) == 0) {
printf("用戶名已存在,請(qǐng)重新選擇。\n");
return 0;
}
curr = curr->next;
}
struct User* newUser = (struct User*)malloc(sizeof(struct User));
strcpy(newUser->username, newUsername);
// 輸入密碼等其他信息...
newUser->next = head;
head = newUser;
return 0;
}

這些方法都是基于數(shù)組或鏈表來存儲(chǔ)用戶信息,并通過循環(huán)遍歷來檢查用戶名是否重復(fù)。根據(jù)實(shí)際需求,選擇合適的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)和管理用戶信息。

0