c语言链表会员系统添加会员时判断该账号是否被占用
时间: 2023-05-23 19:01:08 浏览: 38
可以通过遍历链表来判断该账号是否被占用,具体实现可以在链表添加节点时将账号作为节点的一个成员变量,然后每次添加新节点时遍历链表,判断是否已存在该账号。如果存在,则提示账号已被占用,否则才将新节点加入链表。
相关问题
c语言链表判断会员账号是否已存在
可以使用链表遍历,如果遇到相同的会员账号则说明已存在。具体实现可以参考如下代码:
```C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ACCOUNT_LEN 32
typedef struct member {
char account[MAX_ACCOUNT_LEN];
struct member *next;
} Member;
int is_member_exist(Member *head, const char *account) {
Member *p;
for (p = head; p != NULL; p = p->next) {
if (strcmp(p->account, account) == 0) {
return 1;
}
}
return 0;
}
int main() {
Member *head = NULL;
Member *p, *q;
// add members
p = (Member*)malloc(sizeof(Member));
strcpy(p->account, "user1");
p->next = NULL;
head = p;
p = (Member*)malloc(sizeof(Member));
strcpy(p->account, "user2");
p->next = NULL;
head->next = p;
p = (Member*)malloc(sizeof(Member));
strcpy(p->account, "user3");
p->next = NULL;
head->next->next = p;
// test if exists
if (is_member_exist(head, "user2")) {
printf("Member exists\n");
} else {
printf("Member does not exist\n");
}
// free memory
for (p = head; p != NULL; ) {
q = p->next;
free(p);
p = q;
}
return 0;
}
```
帮我用c语言链表写一个会员管理系统
好的,以下是一个简单的会员管理系统的C语言链表实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct member {
char name[20];
int age;
char email[50];
struct member *next;
} Member;
Member *head = NULL;
void add_member() {
Member *new_member = (Member*) malloc(sizeof(Member));
printf("请输入会员姓名:");
scanf("%s", new_member->name);
printf("请输入会员年龄:");
scanf("%d", &new_member->age);
printf("请输入会员邮箱:");
scanf("%s", new_member->email);
new_member->next = NULL;
if (head == NULL) {
head = new_member;
} else {
Member *current = head;
while (current->next != NULL) {
current = current->next;
}
current->next = new_member;
}
printf("添加会员成功!\n");
}
void delete_member() {
if (head == NULL) {
printf("会员列表为空!\n");
return;
}
char name[20];
printf("请输入要删除的会员姓名:");
scanf("%s", name);
if (strcmp(head->name, name) == 0) {
Member *temp = head;
head = head->next;
free(temp);
printf("删除会员成功!\n");
return;
}
Member *current = head;
while (current->next != NULL) {
if (strcmp(current->next->name, name) == 0) {
Member *temp = current->next;
current->next = current->next->next;
free(temp);
printf("删除会员成功!\n");
return;
}
current = current->next;
}
printf("未找到该会员!\n");
}
void display_members() {
if (head == NULL) {
printf("会员列表为空!\n");
return;
}
printf("会员列表:\n");
Member *current = head;
while (current != NULL) {
printf("姓名:%s,年龄:%d,邮箱:%s\n", current->name, current->age, current->email);
current = current->next;
}
}
int main() {
int choice;
while (1) {
printf("1. 添加会员\n");
printf("2. 删除会员\n");
printf("3. 显示会员列表\n");
printf("4. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_member();
break;
case 2:
delete_member();
break;
case 3:
display_members();
break;
case 4:
return 0;
default:
printf("无效的选择!\n");
}
}
}
```
这个会员管理系统使用链表来存储会员信息,可以添加、删除和显示会员列表。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)