用《数据结构与算法》中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。 设计内容:本系统应完成一下几方面的功能: 输入信息——enter(); 显示信息———display( ); 查找以姓名作为关键字 ———search( ); 删除信息———delete( ); 存盘———save ( ); 装入———load( ) ; 设计要求: 每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项; 作为一个完整的系统,应具有友好的界面和较强的容错能力实验结果分析
时间: 2023-08-26 21:04:25 浏览: 77
根据你的描述,这个通讯录管理系统基于双向链表数据结构,提供了输入信息、显示信息、查找、删除、存盘和装入等功能。这个系统的核心是双向链表,每个节点包含了姓名、街道、城市、邮编和国家等信息。通过这个系统,用户可以方便地管理通讯录信息。
具体功能的实现方式如下:
1. 输入信息:用户可以通过enter()函数输入新的通讯录信息。这个函数会创建一个新的节点,并将用户输入的姓名、街道、城市、邮编和国家等信息保存到节点中。这个节点会被加入到双向链表中。
2. 显示信息:用户可以通过display()函数显示当前的所有通讯录信息。这个函数会遍历整个双向链表,并将每个节点的信息依次输出到屏幕上。
3. 查找:用户可以通过search()函数根据姓名查找对应的通讯录信息。这个函数会遍历整个双向链表,找到匹配的节点,并将其信息输出到屏幕上。如果找不到匹配的节点,函数会给出提示信息。
4. 删除信息:用户可以通过delete()函数删除指定的通讯录信息。这个函数会找到匹配的节点,并将其从双向链表中删除。
5. 存盘:用户可以通过save()函数将当前的通讯录信息保存到文件中。这个函数会将整个双向链表的信息写入到文件中。
6. 装入:用户可以通过load()函数从文件中加载之前保存的通讯录信息。这个函数会读取文件中的信息,并将其转换为双向链表的形式。
需要注意的是,这个系统的界面应该友好,容错能力较强。对于用户输入的不合法信息,应该给出相应的提示信息,避免系统崩溃或数据混乱。同时,这个系统应该支持较大量的数据存储,并保证数据的安全性和完整性。
总之,这个通讯录管理系统的设计基于双向链表数据结构,并提供了多种功能,可以方便地管理通讯录信息。通过这个系统的实现,可以将所学的数据结构知识应用到实际软件开发中,提高编程能力和实践能力。