通讯录实验报告Word文档格式.docx

上传人:b****4 文档编号:8103074 上传时间:2023-05-10 格式:DOCX 页数:20 大小:764.02KB
下载 相关 举报
通讯录实验报告Word文档格式.docx_第1页
第1页 / 共20页
通讯录实验报告Word文档格式.docx_第2页
第2页 / 共20页
通讯录实验报告Word文档格式.docx_第3页
第3页 / 共20页
通讯录实验报告Word文档格式.docx_第4页
第4页 / 共20页
通讯录实验报告Word文档格式.docx_第5页
第5页 / 共20页
通讯录实验报告Word文档格式.docx_第6页
第6页 / 共20页
通讯录实验报告Word文档格式.docx_第7页
第7页 / 共20页
通讯录实验报告Word文档格式.docx_第8页
第8页 / 共20页
通讯录实验报告Word文档格式.docx_第9页
第9页 / 共20页
通讯录实验报告Word文档格式.docx_第10页
第10页 / 共20页
通讯录实验报告Word文档格式.docx_第11页
第11页 / 共20页
通讯录实验报告Word文档格式.docx_第12页
第12页 / 共20页
通讯录实验报告Word文档格式.docx_第13页
第13页 / 共20页
通讯录实验报告Word文档格式.docx_第14页
第14页 / 共20页
通讯录实验报告Word文档格式.docx_第15页
第15页 / 共20页
通讯录实验报告Word文档格式.docx_第16页
第16页 / 共20页
通讯录实验报告Word文档格式.docx_第17页
第17页 / 共20页
通讯录实验报告Word文档格式.docx_第18页
第18页 / 共20页
通讯录实验报告Word文档格式.docx_第19页
第19页 / 共20页
通讯录实验报告Word文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

通讯录实验报告Word文档格式.docx

《通讯录实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《通讯录实验报告Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

通讯录实验报告Word文档格式.docx

系统平台:

Windows7

开发工具:

VC++6.0

SQLserver2005

设计一个通讯录系统,通过VC++的MFC将数据库中的表链接起来,在MFC中实现通讯录系统中联系人录入,删除,查找,编辑等功能

课程设计报告要求不少于3000字。

源程序要求不少于300行

2013年4月20日-2013年4月25日:

分析并建数据库

2013年4月26日-2013年5月10日:

编写程序实现基本功能

2013年5月11日-2013年5月25日:

写课程设计报告

2013年5月26日-2013年6月10日:

课程设计报告定稿

[1]InmonWH.数据库.王志海等译[B].北京:

机械工业出版社,2000

[2]ImhoffC等.数据库设计.于戈等译[B].北京:

机械工业出版社,2003

[3]温秀梅,丁学钧.C++语言程序设计教程与实验[M].北京清华大学出版社,2004

[4]严华峰等.VisualC++课程设计案例精编[P].北京:

中国水利水电出版社,2004

[5]王珊,萨师煊.数据库系统概述(第四版)[M].北京:

高等教育出版社出版,2006

指导教师签字

教研室主任签字

2013年03月20日

周松林学号:

2011302807专业班级:

电子仪器11-1班

课程设计题目:

通讯录系统

指导教师评语:

成绩:

年月日

安徽理工大学课程设计(论文)成绩评定表

1需求分析

设计通讯录系统的总体目标:

利用所学的VC++和数据库系统的相关知识,设计出具有一定功能的通讯录系统。

在本次程序设计,我是在SQLsever中建立相应的表,然后应用ODBC将数据库与VC++链接起。

通讯录的基本功能如下:

(1)具有查找功能。

编写查找程序代码,用户根据自己需要,通过VC++功能界面查找所需内容。

(2)具有删除功能。

编写删除程序代码,通过VC++功能界面删除数据库中的记录。

(3)具有编辑功能。

编写相应编辑程序代码,实现对数据库中的记录的修改,达到用户目的。

(4)具有插入功能。

编写相应插入程序代码,实现对数据库进行插入记录功能。

2总体设计

2.1数据库设计

2.1.1通讯录系统的数据字典

由于本次课程设计的内容是设计通讯录系统,根据用户需求,建立以下联系人基本信息表,如下表所示。

表2-1联系人基本信息

属性

字段含义

字段类型

是否为空

Sname

姓名

nchar(10)

NO

Ssex

性别

nchar

(2)

Sage

年龄

int

Sphone

手机号码

NO(主键)

Splace

家庭住址

2.1.2概念结构设计

通过需求分析构造基本表,确定了通讯录的数据项。

然后将需求分析得到的用户需求抽象为信息结构,画出E-R图。

如下图所示:

图2-1联系人基本信息

2.1.3通讯录数据库逻辑结构设计

构造通讯录系统模块的逻辑结构如图2-2下:

联系人(姓名,性别,年龄,手机号码,家庭住址)

图2-2联系人属性

2.2通讯录数据库实现

根据上述我先在SQLsever中建立好数据库,然后以VC++(6.0)为开发平台,利用ODBC将数据库与VC++链接起来,在VC++(6.0)MFC中设计功能界面,通过功能键对数据库进行查找,删除,编辑,添加操作。

实现通讯录系统的基本操作,满足用户的基本要求。

3详细设计

3.1建立数据库

在本次课程设计,我应用SQLserver2005软件建立通讯录数据库,通讯录数据库包含联系人基本信息表。

首先先建立数据库,如下图3-1所示。

图3-1在SQLserver2005中建立通讯录数据库

接着在此通讯录数据库上建立一个联系人信息基本表,其表为people表,并录入信息。

具体操作如下图所示。

图3-2在SQLserver2005中用CREATE建立联系人基本信息表

图3-3在数据库中形成people基本表

图3-4正在将联系人“三三”录入数据库。

图3-5数据库中存有的联系人

3.2进行数据库连接

建好数据库后,用ODBC进行链接数据库。

在控制面板里找管理工具,双击管理工具,在里面找数据源(ODBC)进行数据库的链接,如下图3-6所示。

图3-6采用ODBC进行与数据库链接

然后在VC++平台上设计功能界面,编写相应的程序。

在这次课程设计中我选用MFC基本对话框来完成相应功能。

具体步骤如图所示。

1.在VC++平台上,选用MFC基本对话框,建好基本对话框,要手动新建一个类,它是由CRecordSet派生而来。

CRecordset类封装了大量操作数据库的函数,支持查询,存取,更新数据库操作。

因此要新建一个继承CRecordset的类。

如图3-7所示。

图3-7新建继承CRecordSet的类

2.设计功能界面,进行功能测试,如图3-8,图3-9,图3-10,图3-11,图3-12所示。

图3-8设计登陆主界面

图3-9含有添加,编辑,删除,查找基本操作的功能主界面

图3-10删除功能主界面

图3-11进行联系人信息修改操作

图3-12对通讯录系统的记录进行查询

3.3程序代码

初始化,将数据库打开的代码:

BOOLCSongDlg:

:

OnInitDialog(){

CDialog:

OnInitDialog();

p->

Open(AFX_DB_USE_DEFAULT_TYPE);

CBitmaphbmp;

HBITMAPhbitmap;

CStatic*pStaic;

pStaic=(CStatic*)GetDlgItem(IDC_BITMAP);

hbitmap=(HBITMAP):

LoadImage(:

AfxGetInstanceHandle(),p->

m_Stujing,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

hbmp.Attach(hbitmap);

BITMAPbm;

hbmp.GetBitmap(&

bm);

CDCdcMem;

dcMem.CreateCompatibleDC(GetDC());

CBitmap*poldBitmap=(CBitmap*)dcMem.SelectObject(&

hbmp);

CRectlRect;

pStaic->

GetClientRect(&

lRect);

lRect.NormalizeRect();

GetDC()->

StretchBlt(lRect.left,lRect.top,lRect.Width(),lRect.Height(),

&

dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

dcMem.SelectObject(&

poldBitmap);

m_name=p->

m_Sname;

m_age=p->

m_Sage;

m_place=p->

m_Splace;

m_phone=p->

m_Sphone;

m_sex=p->

m_Ssex;

UpdateData(FALSE);

returnTRUE;

}

此处是查找功能的代码:

voidCYu:

OnButton1(){

CStrings1;

CLinDlgn;

UpdateData(TRUE);

s1.Format("

select*frompeoplewhereSphone='

%s'

"

m_phon);

m_p->

Open(AFX_DB_USE_DEFAULT_TYPE,s1);

n.m_age=m_p->

n.m_place=m_p->

n.m_phone=m_p->

n.m_sex=m_p->

n.m_name=m_p->

n.DoModal();

此处是删除数据库记录功能的代码:

voidCSongDlg:

OnDelete(){

if(AfxMessageBox("

真的要删除吗?

MB_OKCANCEL)==IDCANCEL)

return;

else{

if(p->

IsEOF()){

AfxMessageBox("

没有相关数据!

);

}

else

{

Delete();

IsEOF())

MoveLast();

else

MoveNext();

Requery();

UpdateData(false);

删除成功!

}}}

此处是修改数据库记录的代码:

OnEdit(){

CLinDlgd;

d.m_age=p->

d.m_place=p->

d.m_phone=p->

d.m_sex=p->

d.m_name=p->

if(d.DoModal()==IDOK){

UpdateData(true);

Edit();

m_Splace=d.m_place;

m_Sphone=d.m_phone;

m_Ssex=d.m_sex;

m_Sname=d.m_name;

m_Sage=d.m_age;

Update();

已经修改数据成功!

UpdateData(FALSE);

}}

此处添加记录到数据库的代码:

OnAdd(){

//TODO:

Addyourcontrolnotificationhandlercodehere

CLinDlgh;

if(h.DoModal()==IDOK){

if(h.m_age=0||h.m_name.IsEmpty()||h.m_phone.IsEmpty()||h.m_place.IsEmpty()||h.m_sex.IsEmpty()){

MessageBox(_T("

有信息未填写,请重新填写!

),_T("

提示"

),MB_ICONWARNING);

else{

UpdateData(TRUE);

if(p->

CanAppend()){

p->

AddNew();

m_Sage=h.m_age;

m_Sname=h.m_name;

m_Sphone=h.m_phone;

m_Splace=h.m_place;

m_Ssex=h.m_sex;

AfxMessageBox("

恭喜!

添加成功"

UpdateData(false);

}}}}

此处是上条记录,下条记录,更新的代码:

p->

MovePrev();

StretchBlt(lRect.left,lRect.top,lRect.Width(),lRect.Height(),&

MoveFirst();

4总结

通过这次的实验,对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQLserver2005的认识,更深层次了解了相关的VC++知识,尤其对数据库与开发程序的链接有了进一步的认识。

这次课程设计我最大的感受是如何将所学的课本知识应用于实验,提高我们的实践能力。

由于之前的学习过于注重书本上的知识,比较少上机练习编程,导致在实验的开始阶段进展缓慢,经常犯些低级错误,例如:

没加头文件。

这次课程设计也遇到很多问题,但始终没有放弃,通过网上查资料,请教老师同学。

经老师指点,渐渐的掌握了一定的知识。

对实验慢慢得心应手,学得很多知识。

当然,这次课程设计中,有其亮点也有不足。

其亮点就在于每个联系人都有对应一张本人照片。

这就要求在数据库有对应的照片数据或照片路径,本次实验中,综合考虑选择在数据库中存储照片路径,然后通过LoadImage函数将位图加载,通过这种方法实现每个联系人都有对应一张本人照片。

加载图片是本次课程设计的难点,在这点上花费了我们大量时间,延迟课程设计完成的时间,但我们还是在最终定稿时间期限完成课程设计。

而这次课程设计的不足在于:

只能加载位图格式(即bmp格式)。

对其他格式图片则不能加载,必须通过转换成位图格式才行,这种缺陷限制通讯录的功能。

本想进一步修改,但由于时间将至,因此最终放弃对程序进行改进。

总结以上,这次课程设计基本满足要求,很好实现各个功能基本操作。

虽然收获很多,但遗憾也有。

不管怎么样,今后我会更加努力学习这门课程,不断提高自己。

参考文献

[1]InmonWH.数据库.王志海等译[B].北京:

[2]ImhoffC等.数据库设计.于戈等译[B].北京:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2