通讯录管理系统 C语言实训 Linux实训.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 目录 绪论 1 课题简介 1 课题研究内容 1 相关知识概述 2 系统分析 4 系统说明 4 可行性研究 5 需求分析 5 系统总体设计 6 架构设计 6 软件设计 6 系统详细设计 8 系统数据结构设计 8 系统各个子函数具体说明 8 系统功能界面设计 9 具体模块设计 10 系统实现与测试 19 系统实现 19 单元测试 19 主要源代码 错误!未定义书签。 用户手册 24 系统功能简介 24 系统的支持平台 24 使用说明 24 结束语 36 参考文献 37 PAGE PAGE 10 绪论 1 绪论 课题简介 通讯录管理系统在实际中应用广泛,其中的很多的功能都很齐全也很强大。它不仅是新老同学联系的桥梁,而且还是自我娱乐的好方式。通讯录管理系统的功能一般包括:创建、查询、更新(添加、修改、删除)、保存等功能。实现的功能概括为供用户对其朋友及家人通讯信息进行各种操作。用户可以对朋友的基本资料作相应的改动;用户可以对个人资料进行修改;对于用户的联系,方便同学及朋友之间的查找;此外还可实现其他一些功能。可以说通讯录管理系统是人际交往中不可或缺的信息管理的工具,它能实现以上的种种功能,因此它也是我们朋友,同学之间不可缺少的好帮手,助手。但有这些优点的同时它也存在着一定的缺点,就比如更新不够多样化等等。 课题研究内容 本次课题主要研究怎样编写 C 语言程序实现简单的通讯录管理系统,允许用户创建新的通信录信息、同时该系统提供添加、删除、修改、查找和保存等功能。该系统具体实现功能如下: 创建通讯录。创建的通讯录信息至少包括姓名、住址、单位、手机、分类(如同事、朋友、同学、家人等)、邮箱等信息。 查找。系统允许用户按姓名、单位、分类方式查找。当用户选择某一查找方式后,输入相应的信息,系统将自动显示该信息对应的通讯录成员的全部信息。 保存。系统允许用户将创建的通讯录保存至某一自定义文件内,可以将其调出使用。 打开。系统允许用户打开其自定义创建的保存通讯录成员信息的文本文件,并输出通讯录中的信息。 增加。系统允许用户增加新的通讯录成员信息。 删除。系统允许用户按照姓名查找的方式删除对应通讯录成员的信息。 修改。系统允许用户按照姓名查找的方式修改对应通讯录成员的信息。 显示。显示通讯录内所有成员的基本信息。 绪论 相关知识概述 因为通讯录系统在使用过程中有许多不定因素,需要确保其功能正常运行,且能灵活的对通讯录系统内所包含的信息进行各种实际操作,故此处决定通过创建结构体以及链表的形式,并且利用结构体指针来创建通讯录成员信息,以便通讯录系统用户针对通讯录成员的各种信息进行操作。针对通讯录系统用到的相关知识,具体有以下三个方面。 结构体 在 C 语言中,结构体(struct)指的是一种数据结构,是 C 语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以 为不同的类型,成员一般用名字访问。 结构体指针 结构体指针与一般指针变量在特性和方法上是相同的。在程序中,结构体指针通过访问目标运算“*”访问他的对象。结构体指针在程序中的一般定义形式为: “Struct 结构体名 *结构体指针名”,其中的结构体名必须是上面已经定义的结构体类型。在本次通讯录系统的设计过程中,对于结构体以及结构体指针的运用,我主要的用法 如下: struct address_list { char name[30]; //姓名char address[30]; //住址 char work[30]; //单位职业char handset[30]; //手机号char email[30]; //电子邮件char classify[30]; //类别struct address_list *next; }; 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成, 绪论 结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到 O(1)的复杂度,比另一种线性表顺序表快得多, 但是查找一个节点或者访问特定编号的节点则需要 O(n)的时间,而线性表和顺序表相应的时间复杂度分别是 O(logn)和 O(1)。链表的一般情况及空链表如图 1.3 所示: 系统分析 系统分析 系统说

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档