C++实现简易通讯录程序

需积分: 10 1 下载量 20 浏览量 更新于2024-09-12 收藏 4KB TXT 举报
"这是一个基于VC++实现的简易通讯录程序,主要功能包括创建联系人列表、插入新联系人和删除联系人。" 在这个通讯录程序中,我们使用了结构体(struct)来定义联系人的信息,其中包括姓名(name)和电话(tele)两个字段。结构体的定义如下: ```cpp struct id { char name[20]; char tele[20]; ID* next; }; ``` 这里,`struct id` 定义了一个名为 `id` 的结构体类型,包含两个 `char` 类型的数组,分别用于存储姓名和电话号码,以及一个指向相同结构体类型的指针 `next`,用于链表连接。`next` 指针使得我们可以将多个联系人结构体链接在一起,形成一个链表。 程序中还定义了一个全局变量 `pc` (person count),用于记录当前通讯录中联系人的数量。 `creat()` 函数用于创建新的联系人列表。这个函数会持续提示用户输入姓名和电话,直到用户输入特殊字符 "#" 作为结束标志。每次输入后,都会创建一个新的 `ID` 结构体实例,并将其添加到链表的末尾。最后,返回链表的头节点。 `insert()` 函数用于在已有的联系人列表中插入新的联系人。它首先提示用户输入新联系人的姓名和电话,然后将新创建的 `ID` 结构体插入到链表的末尾。如果链表为空,新联系人将成为头节点;否则,新联系人将通过 `next` 指针链接到链表的最后一个元素之后。 `delet()` 函数用于从链表中删除指定姓名的联系人。首先,程序提示用户输入要删除的联系人的姓名,然后遍历链表,找到匹配的联系人并将其从链表中移除。如果要删除的联系人是头节点,需要更新头节点;否则,其前一个节点的 `next` 指针将指向被删除节点的下一个节点。 需要注意的是,代码中可能存在一些潜在的问题,例如没有处理输入验证和内存释放。在实际开发中,为了确保程序的健壮性,应该对用户输入进行检查,防止无效数据导致的程序崩溃,同时在不再需要结构体实例时,应释放相应的内存空间,避免内存泄漏。 这个简易通讯录程序是C++初学者学习链表操作和结构体应用的一个基础示例。通过这个程序,可以掌握链表的基本操作,如插入、删除节点,以及如何使用结构体存储和管理数据。