课程设计通讯录管理系统.docx
- 文档编号:14312302
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:12
- 大小:55.46KB
课程设计通讯录管理系统.docx
《课程设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计通讯录管理系统.docx(12页珍藏版)》请在冰点文库上搜索。
课程设计通讯录管理系统
面向对象程序设计(C++)
课程设计报告
题目通讯录
学部计算机科学与技术
班级
指导教师
姓名
2011年06月14日
摘要
随着计算机网络的快速普及,开发一个通讯录系统,能方便用户管理和查询相关通讯信息,在生活中有很强的现实意义。
本文主要论述通讯录系统开发过程:
通讯录系统需求分析、系统功能设计、数据库的设计、系统的实施,重点介绍了系统功能和实现过程。
对数据结构、系统功能设计的流程作了全面而详细的阐述,然后对系统各功能模块作了具体分析和研究。
我们运用文档的可序列化做数据结构,编写一个通讯录管理系统实现学生信息的输入添加、以姓名做关键字进行查找等功能;通过实现这些功能很大程度上加快了用户信息处理速度和完整度。
该系统包括“添加学生信息”、“查找学生信息”、两个模快来实现该通讯录的功能。
“添加学生信息”功能模块主要是通过用户输入学生信息,然后将其写入到通讯录管理文件内部实现成员信息的存储功能。
“查找输入”功能模块是通过从通讯录管理文件中读取成员名称找到相应文件在主文件中的位置,如若成员不存在则会输出相应的提示信息,如若存在,系统则会从主文件中读出该成员的相应信息并将其输出显示在屏幕,以实现查找功能。
关键词:
添加、查找
课程设计任务分配表
姓名
主要工作
组长
屈江红
总安排和主函数及保存以及读取数据功能模块
组员
吴爽
创建、输入数据
张银
查找、添加功能模块
目录
第1章绪论1
1.1简介说明1
1.1.1研究背景1
1.1.2技术可行性分析1
1.1.3经济可行性分析1
1.2设计目的1
1.3设计内容2
第2章系统功能分析3
2.1系统总体功能分析3
2.2源代码6
第3章系统测试7
3.1添加学生信息界面7
3.2查找学生信息界面8
第4章总结10
第1章绪论
1.1简介说明
1.1.1研究背景
随着计算机网络的快速普及,大学生交流文化的发展,为了促进每位同学的人脉发展,以及同学之间的相互交流与学习,制作一个通讯录是必不可少的。
而开发一个通讯录系统,能够更方便用户管理和查询相关通讯信息,在生活中有很强的现实意义。
该系统实现了对通讯录成员信息的简单管理,使用计算机对其进行管理,通过程序设计算法提高了对通讯录成员信息的管理效率。
1.1.2技术可行性分析
该系统开发通过使用的编程语言包括:
C++语言,其中所使用的相应功能包括:
添加、查找。
本系统是运用了VC++6.0与C语言编程语言写的,C++语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作;编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。
用C++编写的程序可读性好,生成的代码质量高,运行效率仅比汇编语言慢10%~20%。
因为通讯录规模并不能有很大,运用文档管理完全足够。
1.1.3经济可行性分析
本系统的开发成本包括开发时间,软件,硬件。
开发时间为三周,由本组人员利用课余的时间完成。
软件成本为现有软件,已经网上找到的免费开发工具,完全可以胜任开发要求。
硬件成本是已有的一台电脑,相关现有的外围设备。
开发本系统的经济条件具备,可以开发。
1.2设计目的
传统通讯录管理实在存在很大的问题,而且浪费太多的时间与精力,导致通讯录管理复杂,查找不方便,又容易出错。
通讯录系统制作与管理,更有利于学生信息的保存和查找。
现代高科技在不断更新,人们的生活水平也在不断提高,个人地位也随着时间在不断改变,个人信息处理也越来越复杂,所以制作一个通讯录管理系统,解决了很多管理与信息出理上的困难。
随着计算机一点一丁的入侵人类的生活,计算机管理代替人工管理是不可避免的。
1.3设计内容
通讯录管理系统主要是成员各方面信息管理,只有系统管理员添加了成员以后才能对系统进行操作,成员可对通讯录管理系统信息进行操作,如成员信息更改,具体信息如下:
姓名、电话号码、电子邮件、QQ号等信息。
本系统可进行详细功能如下:
A、添加:
系统将提示用户输入新添加学生信息,学生信息数据包括姓名、电话号码、电子邮件、QQ号。
B:
查找:
提示用户输入要查找的学生姓名,然后系统调用查找函数查找,接着系统使用相关命令输出所查找学生的全部信息。
C:
保存:
在用户关闭窗口时,通过提示用户是否保存。
第2章系统功能分析
2.1系统总体功能分析
该系统主要是通过文档的可序列化来实现系统的所有功能,这两个类函数的功能包括添加输入、查找输入、保存。
成员信息包括姓名、电话号码、电子邮件、QQ号等这四个成员。
添加输入功能则是使用了简单的C++文件的写文档序列化功能实现,首先通过对话框来输入一个学生信息,信息包括学生的姓名、电话号码、电子邮件、QQ号。
然后将记录内容保存到一个对象数组集合类对象中,最后通过文档序列化将记录保存到一个文件中。
当添加记录或打开一个记录文件时,还会将数据显示在文档窗口(视图)中。
查找成员信息时则是通过使用GetDlgItemText成员函数,用于获得对话框中的指定控件的窗口文件。
源代码
添加:
classCStudent:
publicCObject
{
CStringstrName;
CStringstrID;
CStringstrE;
CStringstrQQ;
DECLARE_SERIAL(CStudent)
public:
CStudent(){};
CStudent(CStringname,CStringid,CStringe,CStringqq);
voidSerialize(CArchive&ar);
voidDisplay(inty,CDC*pDC);
};
CStudent:
:
CStudent(CStringname,CStringid,CStringe,CStringqq)
{
strName=name;
strID=id;
strE=e;
strQQ=qq;
}
voidCStudent:
:
Display(inty,CDC*pDC)
{
CStringstr;
str.Format("%20s%20s%20s%20s",strName,strID,strE,strQQ);
pDC->TextOut(0,y,str);
}
IMPLEMENT_SERIAL(CStudent,CObject,1)
voidCStudent:
:
Serialize(CArchive&ar)
{
if(ar.IsStoring())
ar< else ar>>strName>>strID>>strE>>strQQ; } #include”Ex_StudentDoc.h” #include”AddDlg.h” voidCEx_StudentDoc: : OnSturecAdd() { CAddDlgdlg; if(IDOK==dlg.DoModal()) { CStudent*pStudent=newCStudent(dlg.m_strName,dlg.m_strID,dlg.m_strE,strQQ); m_stuObArray.Add(pStudent); SetModifiedFlag(); UpdateAllViews(NULL); } } classCEx_StudentDoc: publicCDocument { public: CStudent*GetStudentAt(intnIndex); intGetAllRecNum(void); CObArraym_stuObArray; }; CStudent*CEx_StudentDoc: : GetStudentAt(intnIndex) { if((nIndex<0)||nIndex>m_stuObArray.GetUpperBound()) return0; return(CStudent*)m_stuObArray.GetAt(nIndex); } intCEx_StudentDoc: : GetAllRecNum() { returnm_stuObArray.GetSize(); } CEx_StudentDoc: : ~CEx_StudentDoc() { intnIndex=GetAllRecNum(); while(nIndex--) deletem_stuObArray.GetAt(nIndex); m_stuObArray.RemoveAll(); } voidCEx_StudentDoc: : Serialize(CArchive&ar) { if(ar.IsStoring()) { m_stuObArray.Serialize(ar); } else { m_stuObArray.Serialize(ar); } } voidCEx_StudentView: : OnDraw(CDC*pDC) { CEx_StudentDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); inty=0; for(intnIndex=0;nIndex { pDoc->GetStudentAt(nIndex)->Display(y,pDC); y+=16; } } 查找: voidCFindDlg: : OnOK() { //TODO: Addextravalidationhere CStringstr,strCtrl; str="你的姓名: "; UINTnID=IDC_EDIT1; GetDlgItemText(nID,strCtrl); str=str+strCtrl; str=str+"\n电话号码: "; nID=IDC_EDIT2; GetDlgItemText(nID,strCtrl); str=str+strCtrl; str=str+"\n电子邮件: "; nID=IDC_EDIT3; GetDlgItemText(nID,strCtrl); str=str+strCtrl; str=str+"\nQQ: "; nID=IDC_EDIT5; GetDlgItemText(nID,strCtrl); str=str+strCtrl; MessageBox(str); CDialog: : OnOK(); } 第3章系统测试 本系统包括了对于通讯录中成员的添加、以姓名做关键字进行查找信息等功能。 下面就一一对这些功能进行测试以及说明。 3.1添加学生信息界面 3.2查找学生信息界面 第四章总结 这次的程序设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验。 总结动手,自己发现问题和解决问题。 发现了我们的很多不足之处。 平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断的思考,不断的查阅资料和上机行,解决其中大部分问题,当然还存在一些问题没有解决。 我们相信在以后的学习中能够解决好它们。 但是,收获还是不小的,我们不仅对C和C++的操作有了更进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。 体会就是,书上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,了解和掌握更多的知识,这样我们才能编出更好的程序。 而且程序的编写应该是: 三分编写,七分调试。 程序编写之前雪球分析,至关重要,将关系到这整个项目的成败。 一名优秀的程序员的成长,需要付出很多很多,编程时每天必做,所以在今后的编程之中,尽可能把基本的技能练习熟练。 做软件最终是满足用户的需求,所以做软件时一切应以用极为导向。 总体来说,这次C和C++两种语言混合的程序设计实验还是较为成功的,虽然最终程序还存在一些不足,但能取得这样的成绩我们还是比较高兴的。 最后,我们要感谢老师的教导和同学对我们的帮助和支持。 指导老师的评价: 2011年06月14日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 通讯录 管理 系统