编程通讯录代码怎么写出来

时间:2025-03-05 04:06:49 明星趣事

编写一个编程通讯录的代码涉及多个步骤,包括定义结构体、实现功能函数、编写主函数以及处理用户输入。以下是一个简单的C语言通讯录程序示例,它展示了如何实现添加、删除、查找、显示和退出等基本功能。

1. 定义结构体

首先,我们需要定义一个结构体来存储联系人的信息。

```c

include

include

include

define MAX_NAME_LENGTH 20

define MAX_PHONE_LENGTH 15

define MAX_ADDRESS_LENGTH 100

typedef struct {

char name[MAX_NAME_LENGTH];

char phone[MAX_PHONE_LENGTH];

char address[MAX_ADDRESS_LENGTH];

int age;

} Contact;

typedef struct {

Contact* contacts;

int size;

int capacity;

} AddressBook;

```

2. 初始化通讯录

接下来,我们需要一个函数来初始化通讯录。

```c

void initAddressBook(AddressBook* book) {

book->contacts = (Contact*)malloc(INITIAL_SIZE * sizeof(Contact));

book->size = 0;

book->capacity = INITIAL_SIZE;

}

```

3. 添加联系人

实现添加联系人的功能。

```c

void addContact(AddressBook* book, const char* name, const char* phone, const char* address, int age) {

if (book->size >= book->capacity) {

book->capacity *= 2;

book->contacts = (Contact*)realloc(book->contacts, book->capacity * sizeof(Contact));

}

Contact newContact = {0};

strncpy(newContact.name, name, MAX_NAME_LENGTH);

strncpy(newContact.phone, phone, MAX_PHONE_LENGTH);

strncpy(newContact.address, address, MAX_ADDRESS_LENGTH);

newContact.age = age;

book->contacts[book->size++] = newContact;

}

```

4. 查找联系人

实现通过名字查找联系人的功能。

```c

int findContactByName(AddressBook* book, const char* name) {

for (int i = 0; i < book->size; i++) {

if (strcmp(book->contacts[i].name, name) == 0) {

return i;

}

}

return -1;

}

```

5. 删除联系人

实现删除联系人的功能。

```c

void deleteContact(AddressBook* book, const char* name) {

int index = findContactByName(book, name);

if (index != -1) {

for (int i = index; i < book->size - 1; i++) {

book->contacts[i] = book->contacts[i + 1];

}

book->size--;

}

}

```

6. 显示联系人

实现显示所有联系人的功能。

```c

void displayContacts(AddressBook* book) {

for (int i = 0; i < book->size; i++) {

printf("Name: %s, Phone: %s, Address: %s, Age: %d\n",

book->contacts[i].name, book->contacts[i].phone, book->contacts[i].address, book->contacts[i].age);

}

}

```

7. 主函数

在主函数中,我们可以实现一个简单的菜单,让用户选择不同的操作。