设计一个电子通讯录程序-课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长沙学院
课程设计说明书
题目设计一个电子通讯录程序
系(部) 计算机科学与技术系
专业(班级)
姓名
学号
指导教师
起止日期2010年1月4日到2010年1月
8日
程序设计基础课程设计任务书
一、题目:设计一个电子通讯录程序
二、目的与要求
1.目的:
(1)使学生更加系统地理解和掌握C++语言的基本概念、语言特点和编程技巧。
(2)使学生应用C++语言在程序设计方面得到系统锻炼,为将来VC进行软件开发打下良好基础。
(3)提高学生建立程序文档、归纳总结的能力。
2.基本要求:
(1)要求用C++模块化设计的思想来完成程序的设计;
(2)培养上机动手能力,巩固分支结构和循环结构,应用函数和数据结构的知识。
(3)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。
(4)程序调试通过后,完成程序文档的整理,加必要的注释。
3.创新要求
在基本达到题目要求外,进行创新设计,如界面优美、功能更加完善(如增加按生日先后排序的功能),用不同的cpp文件来实现等。
4.书写设计报告的要求
设计报告中包含以下几个方面:
1、设计题目
2、总体设计
1)用自顶而下或自底而上的方法,划分功能模块。
2)确定各模块的算法
3、根据算法画出流程图
4、列出程序清单,并加以必要的注释
5、写出调试程序的方法
6、指出所设计问题的不足和改进方案
5.课程设计材料的装订顺序为:
1)设计说明书封面
2)课程设计任务书
3)课程设计鉴定表
4)目录
5)设计报告书正文
三、设计内容及其基本原理和设计方法
1.问题描述:
电子通讯录功能如下:1.Read
2.Append
3.Delete
4.Search
5.Isert。
说明:上图是电子通讯录的主菜单,利用它,将能够轻松地录入一个朋友的性别、出生日期、通讯地址、电话号码,而且它还提供了浏览、删除、检索和插入功能。 1)添加:在原有数据资料的基础上按顺序增加记录;2)删除:给出删除位置,执行删除后,查询是否被删除,显示通讯录的内容; 3)查询:给出姓名,列出该记录的信息。4)插入:给出插入位置,执行插入后,查询是否被插入,显示通讯录的内容;
2.解决方案:
用线性表顺序表设计电子通讯录的结构,为了表示较为复杂的数据内容,一般用结构这种数据类型,第一步就是在结构中定义所需要的各项信息。一般的通讯录都包括姓名,性别,出生年月,通讯地址和联系电话这几项,而在这几项中,出生年月又包括年份,月份和日期三项,通讯地址包括邮编和家庭地址二项,我们把这些联系较为紧密的内容又用单独的结构表示,这样就产生了电子通讯录的基本结构。
四、主要技术问题的描述
对于电子通讯录这样一张线性表来说,内容的录入和显示是必不可少的操作。可构造函数Data_Input() 完成了信息的录入工作:可以构造Data_Show()完成信息的显示工作。
五、课程设计时间:18周
六、课程设计的考核方式及评分方法
1.考核方式
课程设计结束时,在机房当场验收。
1)教师提供测试数据,检查运行结果是否正确。
2)回答教师提出的问题。
3)学生提交课程设计文档(A4纸打印)
2.评分方法
上机检查 :书面报告=7 :3,没有通过上机检查的其成绩直接记录不及格
指导教师签名:日期:
教研室主任签名:日期:
系主任签名:日期:
长沙学院课程设计鉴定表
摘要
本程序是一个电子通讯录。用于实现对好友通讯信息的记录以及基本的管理。本程序在完美实现改程序应有的功能的同时还增加了很多的人性化设计,比如温馨的提示。本程序在界面上改变了程序执行时的单一色彩的缺陷,做到了丰富多彩,美观大方!
关键词:电子通讯录;人性化设计;美观
目录
1 设计内容与要求 (5)
2.设计说明 (7)
2.1 问题描述与功能设计 (7)
2.2 算法与数据结构 (7)
2.3 函数定义 (10)
2.4 界面设计 (10)
2.5 编码 (10)
2.6 测试 (10)
3 总结 (12)
参考文献 (13)
附录A 源代码 (14)
附录B流程图 (27)
1设计内容与要求
我设计的是一个电子通讯录程序,用于管理通讯信息。本程序的要求分为“基本要求”和“创新要求”部分,具体如下:
基本要求:
(1)要求用C++模块化设计的思想来完成程序的设计;
(2)培养上机动手能力,巩固分支结构和循环结构,应用函数和数据结构的知识。
(3)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。
(4)程序调试通过后,完成程序文档的整理,加必要的注释。
创新要求
在基本达到题目要求外,进行创新设计,如界面优美、功能更加完善(如增加按生日先后排序的功能),用不同的cpp文件来实现等。
2.设计说明
2.1 问题描述与功能设计
本程序是一个电子通讯录,主要实现对朋友的通讯信息的记录和管理。
能够轻松地录入一个朋友的性别、出生日期、通讯地址、电话号码,而且它还提供了浏览、删除、检索和插入功能。1)添加:在原有数据资料的基础上按顺序增加记录;2)删除:给出删除位置,执行删除后,查询是否被删除,显示通讯录的内容;3)查询:给出姓名,列出该记录的信息。4)插入:给出插入位置,执行插入后,查询是否被插入,显示通讯录的内容。
对于该问题我用线性表顺序表设计电子通讯录的结构,为了表示较为复杂的数据内容,一般用结构这种数据类型,第一步就是在结构中定义所需要的各项信息。一般的通讯录都包括姓名,性别,出生年月,通讯地址和联系电话这几项,而在这几项中,出生年月又包括年份,月份和日期三项,通讯地址包括邮编和家庭地址二项,我们把这些联系较为紧密的内容又用单独的结构表示,这样就产生了电子通讯录的基本结构。
该通讯录功能如下清单
1.建立通讯录
对通讯录进行录入,实现通讯录最基本的功能建立一个通讯录,进行信息的记忆。
2.查看通讯录
对已有的通讯信息进行查看,读取信息。
3.查找联系人
当通讯录中信息太多时,用户可以使用该功能进行对联系人的查找。方便快捷!
4.修改联系人
当联系人的信息有所更改、变动。用户可以使用该功能进行更改联系人信息。
5.删除联系人
如果联系人的信息因某种原因,用户不再需要,可以使用该功能删除!
6.增加联系人
该功能用于解决在建立通讯录后,要增加新的联系人信息。
2.2 算法与数据结构
本程序的算法可以根据程序要实现功能进行算法说明。
1.建立通讯录
建立通讯录是在函数person *create(int)中实现的。本质上是一个链表的建立。
首先我们需要三个指针person *head,*tail=NULL,*temp=NULL进行链表数据的保存。建立表头对指针head分配内存,head=new person。对分配内存是否成功进行判断if成功,进行数据的输入。else内存分配不成功,结束程序!
然后进行表体的建立,因为要输入多次,而且次数是清楚地,所以我用for循环为主体结构,进行表体的建立及朋友信息的录入。