电话簿管理系统c语言
时间: 2024-03-02 16:46:33 浏览: 22
电话簿管理系统是一个用于存储和管理联系人信息的程序。在C语言中,可以使用结构体和链表来实现电话簿管理系统。
首先,我们可以定义一个结构体来表示联系人的信息,包括姓名、电话号码等字段。例如:
```c
struct Contact {
char name[50];
char phone[20];
// 其他字段...
};
```
然后,我们可以使用链表来存储联系人信息。每个节点表示一个联系人,包含一个指向下一个节点的指针。可以定义一个指向链表头节点的指针来表示整个电话簿。例如:
```c
struct Node {
struct Contact contact;
struct Node* next;
};
struct Node* phoneBook = NULL; // 链表头节点指针
```
接下来,我们可以实现一些基本的功能,如添加联系人、删除联系人、查找联系人等。以下是一个简单的示例:
```c
// 添加联系人
void addContact(const char* name, const char* phone) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
strcpy(newNode->contact.name, name);
strcpy(newNode->contact.phone, phone);
newNode->next = phoneBook;
phoneBook = newNode;
}
// 删除联系人
void deleteContact(const char* name) {
struct Node* currNode = phoneBook;
struct Node* prevNode = NULL;
while (currNode != NULL) {
if (strcmp(currNode->contact.name, name) == 0) {
if (prevNode == NULL) {
phoneBook = currNode->next;
} else {
prevNode->next = currNode->next;
}
free(currNode);
return;
}
prevNode = currNode;
currNode = currNode->next;
}
}
// 查找联系人
struct Contact* findContact(const char* name) {
struct Node* currNode = phoneBook;
while (currNode != NULL) {
if (strcmp(currNode->contact.name, name) == 0) {
return &(currNode->contact);
}
currNode = currNode->next;
}
return NULL;
}
```
以上只是一个简单的电话簿管理系统的示例,你可以根据实际需求进行扩展和修改。例如,可以添加编辑联系人、显示所有联系人等功能。