通讯录管理系统.docx
《通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
通讯录管理系统
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
信息系统开发综合设计
设计题目:
通讯录管理系统
学生学号:
专业班级:
2012智能科学与技术01
学生姓名:
学生成绩:
指导教师(职称):
鲁统伟(副教授)
完成时间:
2015.12.22
武汉工程大学计算机科学与工程学院制
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个综合设计期间的表现、设计完成情况、报告的质量及答辩等方面,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节。
凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
答辩记录表
学生姓名:
贺宏伟学号:
1205030104班级:
2012智能科学与技术01
答辩地点:
J523
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
成绩评定表
学生姓名:
贺宏伟学号:
1205030104班级:
2012智能科学与技术01
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩
指导教师评语
指导教师:
(签字)日期:
年月日
一、综合设计目的、条件、任务和内容要求:
1、设计目的
本设计综合应用面向对象程序设计思想和方法、C++语言以及算法与数据结构知识解决比较简单的问题,培养学生的程序设计综合能力以及撰写文档和报告的专业能力。
2、设计任务
复习算法与数据结构知识,熟悉可视化编程,完成一个简单的管理系统。
3、设计内容
设计并实现一个带有可视化界面或者web界面的通讯录管理系统。
功能包括:
●使用链表或顺序表实现数据的录入(顺序表或链表的创建)、查找、修改、插入、追加、删除、统计等功能;
●通讯录的保存和导入;
●通讯录的显示,包括一个一个的显示、带有滚动条的显示;
●通讯录的排序,包括姓名排序、电话号码排序、地址排序;
●通讯录的查找,包括按姓名查找、电话号码查找;
●利用数据库完成相关的存贮和功能。
二、进度安排:
1.第一周周二,收集资料,熟悉vs编程环境;
2.第一周周三,学习可视化编程;
3.第一周周四,学习链表或线性表使用;
4.第一周周五,练习可视化界面;
5.第二周周二,完成菜单及对话框显示;
6.第二周周三,完成滚动条、编辑框、单选框等控件显示;开始撰写报告;
7.第二周周四,完成管理系统的功能;完善报告;
8.第二周周五,答辩。
三、应收集资料及主要参考文献:
1.windows程序设计方面的材料;
2.MFC程序设计;
3.xml的工具包;
四、摘要:
通讯录管理系统创建基于MFC,利用ACCESS和MFCADO数据库的连接,在可视化的界面上进行用户名、姓名、电话号码、E-mail及地址的查询、添加、修改、删除,对数据库表内的信息列表进行操作。
通讯录管理系统主要完成了用户登录功能功能,对数据库内姓名、电话号码、E-mail及地址进行查询、添加、删除、修改功能。
图书馆管理系统设计是有下列几步完成的:
首先对整体功能进行分析,开始是用户登录,登陆成功后显示主界面其分为查询、添加、修改、删除和退出五个菜单;第二步是对五个菜单继续划分成具体的类进行实现;第三步是根据课程设计的要求在数据库内的建立具体的表,并且进行连接,及对数据库、数据库内容的操作,与此同时完成界面的退出操作;第四步是对通讯录管理系统进行的全面优化,修改不足。
关键词:
通讯录;ACCESS;数据库
五、Abstract:
AddressbookmanagementsystemcreatedbasedonMFC,exploittheaccessandMFCADOdatabaseconnectivity,inthevisualinterfaceofID,name,phonenumber,e-mailaddressandthequery,add,modify,delete,databasetableonthelistofinformationintooperation.
Addressbookmanagementsystemmainlycompletetheuserloginfunction,thedatabasename,telephonenumber,e-mailaddressandquery,add,delete,modifyfunction.
Librarymanagementsystemdesignisthefollowingafewstepstofinishthe:
firstofall,theoverallfunctionwereanalyzed,beginningwiththeuserlogin,afterthesuccessfullandingofdisplaymaininterfaceofthequery,add,modify,delete,andfivemenuexit;thesecondstepistofivemenutodividedintoclassspecificimplementation;thethirdstepisaccordingtotherequirementsofcurriculumdesigninthedatabaseestablishedspecifictable,andconnectionandtheoperationofdatabase,databasecontent,atthesametimetocompletetheinterfaceexitoperation;thefourthstepistheaddressbookmanagementsystemisfullyoptimizedandmodified.
Keywords:
Addressbook;ACCESS;database
摘要
通讯录管理系统创建基于MFC,利用ACCESS和MFCADO数据库的连接,在可视化的界面上进行用户名、姓名、电话号码、E-mail及地址的查询、添加、修改、删除,对数据库表内的信息列表进行操作。
通讯录管理系统主要完成了用户登录功能功能,对数据库内姓名、电话号码、E-mail及地址进行查询、添加、删除、修改功能。
图书馆管理系统设计是有下列几步完成的:
首先对整体功能进行分析,开始是用户登录,登陆成功后显示主界面其分为查询、添加、修改、删除和退出五个菜单;第二步是对五个菜单继续划分成具体的类进行实现;第三步是根据课程设计的要求在数据库内的建立具体的表,并且进行连接,及对数据库、数据库内容的操作,与此同时完成界面的退出操作;第四步是对通讯录管理系统进行的全面优化,修改不足。
关键词:
通讯录;ACCESS;数据库
Abstract
AddressbookmanagementsystemcreatedbasedonMFC,exploittheaccessandMFCADOdatabaseconnectivity,inthevisualinterfaceofID,name,phonenumber,e-mailaddressandthequery,add,modify,delete,databasetableonthelistofinformationintooperation.
Addressbookmanagementsystemmainlycompletetheuserloginfunction,thedatabasename,telephonenumber,e-mailaddressandquery,add,delete,modifyfunction.
Librarymanagementsystemdesignisthefollowingafewstepstofinishthe:
firstofall,theoverallfunctionwereanalyzed,beginningwiththeuserlogin,afterthesuccessfullandingofdisplaymaininterfaceofthequery,add,modify,delete,andfivemenuexit;thesecondstepistofivemenutodividedintoclassspecificimplementation;thethirdstepisaccordingtotherequirementsofcurriculumdesigninthedatabaseestablishedspecifictable,andconnectionandtheoperationofdatabase,databasecontent,atthesametimetocompletetheinterfaceexitoperation;thefourthstepistheaddressbookmanagementsystemisfullyoptimizedandmodified.
Keywords:
Addressbook;ACCESS;database
第一章通讯录管理系统概述
1.1设计背景
当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体—Internet,它打破了地域时间限制,改变了人们的工作和生活方式,,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及,利用计算机实现各种管理势在必行,那我们现在如何管理与我们联系的人的信息呢?
有多种方式,比如说,有储存电话号码到手机上的,有记录电话等信息到本子上的,还有用名片夹存放名片的,也有记录在WORD文档中或打印出来的,等等很多种形式。
对于存储电话号码到手机上的方式,比较方便,随时随地可以联系,不过只能通过电话联系,没有记录其他的联系方式,如果手机丢了可能就谁也联系不上了;对于记录电话等信息到本子上的方式,第一也可能丢失本子,第二是查找起来比较困难,需要人工查找,而且更新时不容易,需要涂改以前记录的信息,第三格式比较死板,不利于跟随用户的需求扩展;对于用名片夹存放名片的形式也是查找起来不方便,有丢失的危险;对于记录到WORD文档或打印出来的,也是扩展性不强,查找起来不方便。
如此多的方式我们都感觉有一定的缺陷,我们通过界面编程和数据库技术相结合,界面操作使使用和维护通讯录更加简单、方便,数据库的使用可以使数据的保存更加安全,而且数据库也可以对数据进行导入、导出、打印等功能的实现更加方便。
1.2目的和意义
当今时代,是一个信息的时代,对数据的维护,成为一个越来越复杂的问题,如何使数据的保存和维护不成为一种负担呢?
MFC界面编程和数据库的结合使数据的维护效率大大提高和降低维护成本。
一个班级、一个学校、一个公司等,对人员基本信息的维护,都是一个庞大的工作。
本系统中的用户注册,人员信息添加、人员信息修改、人员信息删除等功能,使得管理员对信息的维护更加简单,使得用户对自己的信息维护和其他人员信息的查询更加方便。
数据库的使用让数据的大量传输、备份更高效,数据的安全性更高。
1.3项目简介
本系统主要实现通讯录管理功能,为用户提供一个可以快速查找信息的平台。
1.4需求分析
信息化时代,人们的联络方式日益增多。
因此需要我们去记录的个人信息也越来越多,但是人脑不是电脑无法准确的记住所有的信息,容易出错,尽管用传统的办法即用记事本也可以记录很多号码,但是查找起来十分不便。
综上所述,开发一个带有用户登录功能的简单通讯查询系统是很有必要的。
利用电话号码查询不仅可以记录用户更多的信息,而且最大的优点就是可以进行快速查询定位,姓名、电话号码查询使用起来给用户带来极大的方便,省时省力!
第二章通讯录管理系统设计简介
2.1目标功能
初次使用用户名为1,密码为1,进行登陆界面登陆,若输入错误,提示“用户名或密码错误”;提示若输入正确,进入系统界面。
登录后显示主界面:
(1)单击“查询”按钮,在姓名或电话号码的编辑框输入查询信息,即可完成操作。
(2)单击“新增”按钮,弹出对话框,可依次输入要增加的联系人的信息,包括姓名、电话号码、Email和地址。
(3)单击“修改”按钮,选中列表中的某一行,然后单击修改按钮,弹出对话框,在对话框中修改,保存。
(4)单击“删除”按钮,选中列表中的某一行,然后单击删除按钮,直接删除该记录。
2.2通讯录管理系统总体设计思想
应用系统,从用户的角度来看,可分为数据存储层、业务逻辑层和应用表示层三个层次。
应用程序结构可以概括为:
集中式应用程序体系结构、单用户应用程序系统结构、多层服务器应用程序结构、浏览器/服务器体系结构、客户端/服务器应用程序结构五种类型。
本次设计的通讯录系统采用的是客户端/服务器应用程序体系结构。
这使得所有的程序开发工作都可以在同一台计算机上完成,并且运行和调试。
简单地概括客户端\服务器应用程序体系结构的工作原理,即首先客户端提出操作请求,然后,服务器对客户端提出的请求进行响应,最后,把处理结果发送到客户端上显示。
服务器上包括数据存储层,主要用于存储和处理大量的数据,客户端上包括业务处理层和应用表示层,主要用于界面的操作和数据的显示。
通讯录管理系统的功能为使用者提供对姓名、电话号码、E-mail及地址的查询、添加、修改、删除等功能。
通讯录管理系统的主要模块:
1)登陆界面使用者可以使用账户密码进行登陆,这样对使用者的个人数据进行保密。
2)查询支持姓名查询和电话号码查询
3)新增为系统增加通讯条目
4)修改更改系统已有的条目的内容
5)删除删除已有条目
6)退出退出系统,结束运行
通过ACCESS建立一个通讯录管理系统的数据库,在控制面板的管理工具上用手动方式添加数据源进行连接。
而与数据表的连接采用记录集的形式一一建立连接,可以进行联系人资料的管理,通讯录管理包括联系人信息增加、查询、修改和删除四项。
用ADO语言将数据库与C++连接起来,首先是登录界面,只有使用者才可进入。
登陆成功后,会跳转到系统界面,使用者可在系统界面联系人信息增加、查询、修改和删除等功能,程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
系统总体框架图
图1.1通讯录管理系统框架图
系统总体流程图
不存在
存
在
图1.2系统总体流程图
链表是一种常见的重要的数据结构。
它是动态地进行存储分配的一种结构。
它可以根据需要开辟内存单元。
链表有一个“头指针”变量,以head表示,它存放一个地址。
该地址指向一个元素。
链表中的每一关元素称为“结点”,每个结点都应包括两个部分:
一为用户需要用的实际数据,二为下一个结点的地址。
因此,head指向第一个元素;第一个元素又指向第二个元素;……;直到最后一个元素,该元素不再指向其他元素,它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”),链表到此结束。
链表的各类操作包括:
学习单向链表的创建、删除、插入(无序、有序)、输出、排序(选择、插入、冒泡)、反序等。
第三章通讯录管理系统详细设计方案
3.1开发工具
前台开发环境:
MicrosoftVisualStudio2012
后台数据库环境:
MicrosoftOfficeAccess2003
3.2新建数据库
打开access新建一个名为lxr.mdb的空数据库,然后建立一个名为lxr的表,然后设计字段,字段名依次为ID、NAME、ADDRESS、PHONENUMBER、E-MAIL、PASSWD,把ID设为主键,如图2.1所示
图2.1lxr表
3.3C++中MFC应用程序编写
3.3.1新建MFC工程
打开vs2012,选择文件->新建项目,选择MFC目录下的MFC应用程序,名称更改为lxr,点击确定,如图2.2所示
图2.2新建lxr工程
点击下一步,选择基于对话框,点击完成。
MFC工程创建完成。
3.3.2设计MFC界面
MFC界面设计可分为三个部分包括登陆界面、系统界面和修改界面。
1)登陆界面设计,如图2.3所示:
图2.3登陆界面
在Edit控件上分别右击,添加两个相对应的成员变量m_Name和m_Passwd。
.h文件中的对应代码为:
public:
CStringm_Name;
CStringm_Passwd;
.cpp文件中的对应代码为:
ClxrDlg:
:
ClxrDlg(CWnd*pParent/*=NULL*/)
:
CDialogEx(ClxrDlg:
:
IDD,pParent)
m_Name(_T(""))
m_Passwd(_T(""))
{
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
voidClxrDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialogEx:
:
DoDataExchange(pDX);
DDX_Text(pDX,IDC_EDIT1,m_Name);
DDX_Text(pDX,IDC_EDIT2,m_Passwd);
}
2)系统界面设计,如图2.4所示:
图2.4系统界面
为该对话框新建一个名为List的类,为IDC_LIST1控件添加变量m_List,为IDC_EDIT1控件添加变量m_Name,为IDC_EDIT3控件添加变量m_Num。
并设置列表控件风格。
dwStyle:
为列表中的控件指定其风格.可为控件使用控件风格列表中的任意组合.InsertColumn的函数原型为:
intInsertColumn(intnCol,constLVCOLUMN*pColumn);intInsertColumn(intnCol,LPCTSTRlpszColumnHeading,intnFormat=LVCFMT_LEFT,intnWidth=-1,intnSubItem=-1);
//为列表视图控件添加全行选中和栅格风格
m_List.SetExtendedStyle(m_List.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//为列表视图控件添加五列
m_List.InsertColumn(0,_T("序号"),LVCFMT_CENTER,50);
m_List.InsertColumn(1,_T("姓名"),LVCFMT_CENTER,50);
m_List.InsertColumn(2,_T("电话"),LVCFMT_CENTER,120);
m_List.InsertColumn(3,_T("电子邮件"),LVCFMT_CENTER,120);
m_List.InsertColumn(4,_T("地址"),LVCFMT_CENTER,200);
3)修改界面设计,如图2.5所示:
图2.5修改界面
依次添加变量m_Name,m_Num,m_Email,m_Address。
3.3.2MFC连接数据库
本系统使用ADO和ACCESS数据库连接,ADO连接数据库的一般步骤为:
1)引入ADO动态库文件;
2)初始化COM环境;
3)连接数据库操作数据表。
首先,引入ADO动态库文件,#import语句来引用支持ADO的组件类型库(*.tlb),
其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:
被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可,在stdafx.h添加#import"C:
\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF")引入ADO动态库文件。
#import"C:
\ProgramFiles\CommonFiles\System\ado\msado15.dll"