C++课程设计报告模板.docx

上传人:b****3 文档编号:10247130 上传时间:2023-05-24 格式:DOCX 页数:28 大小:537.21KB
下载 相关 举报
C++课程设计报告模板.docx_第1页
第1页 / 共28页
C++课程设计报告模板.docx_第2页
第2页 / 共28页
C++课程设计报告模板.docx_第3页
第3页 / 共28页
C++课程设计报告模板.docx_第4页
第4页 / 共28页
C++课程设计报告模板.docx_第5页
第5页 / 共28页
C++课程设计报告模板.docx_第6页
第6页 / 共28页
C++课程设计报告模板.docx_第7页
第7页 / 共28页
C++课程设计报告模板.docx_第8页
第8页 / 共28页
C++课程设计报告模板.docx_第9页
第9页 / 共28页
C++课程设计报告模板.docx_第10页
第10页 / 共28页
C++课程设计报告模板.docx_第11页
第11页 / 共28页
C++课程设计报告模板.docx_第12页
第12页 / 共28页
C++课程设计报告模板.docx_第13页
第13页 / 共28页
C++课程设计报告模板.docx_第14页
第14页 / 共28页
C++课程设计报告模板.docx_第15页
第15页 / 共28页
C++课程设计报告模板.docx_第16页
第16页 / 共28页
C++课程设计报告模板.docx_第17页
第17页 / 共28页
C++课程设计报告模板.docx_第18页
第18页 / 共28页
C++课程设计报告模板.docx_第19页
第19页 / 共28页
C++课程设计报告模板.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++课程设计报告模板.docx

《C++课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告模板.docx(28页珍藏版)》请在冰点文库上搜索。

C++课程设计报告模板.docx

C++课程设计报告模板

青岛理工大学

C++面向对象课程设计报告

 

院(系):

计算机工程学院_______

专业:

计算机科学与技术_____

学生姓名:

纪晨___

班级:

计算101班学号:

201007015

题目:

手机通信录管理系统______

起讫日期:

2012/06/18——2012/06/29

设计地点:

现代教育技术中心101室__

指导老师:

李兰_______

 

完成日期:

2012年6月29日

段落文字:

小四宋体(英文用TimesNewRoman体12磅),两端对齐书写,段落首行左缩进2个汉字符。

行距单倍行距),段前0磅,段后0磅。

一级节标题:

四号黑体顶左,单倍行距,段前12磅,段后3磅,序号与题名间空一个汉字符字符

标题:

四号黑体居中,二字之间空一汉字符,单倍行距,段前12磅,段后9磅,序号与题名间空一个汉字符

一、概述

1.1引言

在现实生活中,我们会碰到形形色色的人,如亲人、同事、老师、同学等。

他们的联系方式多种多样,是很难记忆的。

过去人们用小册子记录,现在则用手机。

为了方便,人们要求可以通过文件导入导出通讯录信息,可以向前向后浏览通讯录信息,可以添加、修改、和删除通信录信息等。

1.2设计要求

1.模拟手机通信录的功能,实现添加、删除、修改手机通信录;

2.通信录添加其他功按姓名进行排序,同一个记录可以存储多个手机号、办公电话等;

3.符合课题要求,实现相应功能,可能或修饰,是程序更加完善、合理。

1.3运行环境

1.WindowsXP操作系统。

2.VisualC++6.0:

VisualC++6.0开发环境是一个基于Windows操作系统的可视化、面向对象的集成开发环境,在该环境下用户可以开发有关C和C++的各种应用程序。

应用程序开发包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单项或工具按钮来完成,使用方面、快捷。

1.4MFC应用程序概述

MFC是由微软公司编写的一套专门用于Windows编程的基础类库,它的类可以处理许多标准的Windows应用程序任务。

借助AppWizard可以创建非常灵活的应用程序框架,使开发者摆脱那些每次都必须写的基本代码。

与其他所有的Windows应用程序一样,在使用MFC的应用程序中也要处理Windows消息,但是在MFC中消息处理更容易,封装的更好,更易于维护。

借助ClassWizard和消息映射,开发者可以摆脱定义消息处理时那种混乱和冗长的代码段,但同时也掩饰了太多的细节。

2、手机通信录设计过程

2.1设计目标

我们能通过此通讯录记录我们所需要联系人的的通讯信息,信息包括姓名、电话号码、工作单位等。

并其能够实现添加记录、删除记录、清除记录、向前和向后浏览等功能。

2.2基本思路

1确定通讯录的基本功能和界面布局。

2分析所需要的函数计算法。

3编写代码。

4程序调试。

2.3基本步骤

1.项目创建。

2.界面设计。

打开对话框IDD_ADDRESS_FORM,该对话框将是程序运行是的主界面。

添加完所需要的空间后,打开ClassWizard,为IDD_CHATROOM_DIALOG所指向的类CAddressBookView添加成员变量。

3.代码实现。

定义一个新类。

定义文档类数据成员。

初始化文档类成员。

定义视图类其它数据成员。

初始化视图类的数据成员。

建立文档类和视图类之间的联系。

编写命令按钮执行代码。

释放链表对象空间。

编写读写列表文件代码。

人性化。

2.4程序流程图

开始

 

退出

删除信息

显示信息

信息排序

保存信息

修改信息

查找信息

3、数据测试及运行情况分析

 

3.1数据测试

 

1添加信息

 

 

2修改信息

修改成功的情况

修改不成功

3排列信息

 

4删除信息

删除成功

 

 

删除不成功

5保存信息:

将已输入的信息保存,方便下次操作。

6显示信息:

显示已经保存的信息

7查找信息

 

8关于

9退出

 

四、总结

4.1设计完成情况

在通讯录设计的过程中,首先确定目标是非常重要的,我们必须根据目标行进,避免了盲目的设计过程。

对于程序的实现,主要需要了解MFC各种函数的功能,熟悉地应用函数,然后根据我们的目标合理地设计算法。

总体来讲,设计完成情况很不错,程序正常运行,各种控件功能得到良好体现,窗口设计美观大方。

我们知道:

任何事做则易,不做则难。

面对MFC大作业,刚开始感觉无从下手,力不从心,心中一片茫然。

经过筛选,最终确定了通讯录这一程序设计,又经过自己的努力,最终小有成绩。

虽然这次作业要求不高,但是对自己来说难度还是不小。

首先要懂得基本的编程知识,比如消息映射与消息处理,我们必须懂得MFC消息映射机制。

在程序设计的过程中经常会遇到一些无从下手的问题,需要翻阅书本,查找资料,一步一步地走完设计过程。

到此,对我们来说作业的任务基本完成,面对最终的成果,有点欣喜,但也有很多不足之处,希望经过这次经历让自己有点收获。

4.2设计需要改进的地方

经过两个星期不断的和同学探讨,交流,上网搜索相关资料,我发现我的程序还有些不足,比如说:

添加一个闹钟系统,方便工作时间长的人们看好时间休息:

还有日历,方便人们的日常工作快速而稳定的进行。

致谢

在这次课程设计的撰写过程中,我得到了许多人的帮助首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。

同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

 

2012年6月

参考文献

1.《VisualC++程序设计》张岳新编著苏州大学出版社;

2.《VisualC++程序设计与应用教程》马石安、魏文平编著清华大学出版社;

3.《VisualC++面向对象与可视化程序设计编程设计》清华大学出版社;

附录源程序部分代码

#include"stdafx.h"

#include"mobile_list.h"

#include"mobile_listDlg.h"

#include"adder.h"

#include"modify.h"

#include"search.h"

#include"fstream.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CAboutDlgdialogusedforAppAbout

classCAboutDlg:

publicCDialog

{

public:

CAboutDlg();

//DialogData

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//}}AFX_DATA

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport

//}}AFX_VIRTUAL

//Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg:

:

CAboutDlg():

CDialog(CAboutDlg:

:

IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

voidCAboutDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

//Nomessagehandlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMobile_listDlgdialog

CMobile_listDlg:

:

CMobile_listDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CMobile_listDlg:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CMobile_listDlg)

//NOTE:

theClassWizardwilladdmemberinitializationhere

//}}AFX_DATA_INIT

//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32

m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

voidCMobile_listDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CMobile_listDlg)

DDX_Control(pDX,IDC_LIST1,m_list);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CMobile_listDlg,CDialog)

//{{AFX_MSG_MAP(CMobile_listDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTONadd,OnBUTTONadd)

ON_BN_CLICKED(IDC_BUTTONmodify,OnBUTTONmodify)

ON_BN_CLICKED(IDC_BUTTONdelete,OnBUTTONdelete)

ON_BN_CLICKED(IDC_BUTTONsort,OnBUTTONsort)

ON_BN_CLICKED(IDC_BUTTONsearch,OnBUTTONsearch)

ON_BN_CLICKED(IDC_BUTTONsave,OnBUTTONsave)

ON_BN_CLICKED(IDC_BUTTONdisplay,OnBUTTONdisplay)

ON_COMMAND(IDM_ABOUT,OnAbout)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMobile_listDlgmessagehandlers

BOOLCMobile_listDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//Add"About..."menuitemtosystemmenu.

m_list.InsertColumn(0,"姓名",LVCFMT_CENTER,100,NULL);//添加“姓名”列

m_list.InsertColumn(1,"手机号",LVCFMT_CENTER,120,NULL);//添加“电话”列

m_list.InsertColumn(2,"办公电话",LVCFMT_CENTER,200,NULL);//添加“phone”列

//IDM_ABOUTBOXmustbeinthesystemcommandrange.

ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

{

CStringstrAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

}

//Settheiconforthisdialog.Theframeworkdoesthisautomatically

//whentheapplication'smainwindowisnotadialog

SetIcon(m_hIcon,TRUE);//Setbigicon

SetIcon(m_hIcon,FALSE);//Setsmallicon

//TODO:

Addextrainitializationhere

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

voidCMobile_listDlg:

:

OnSysCommand(UINTnID,LPARAMlParam)

{

if((nID&0xFFF0)==IDM_ABOUTBOX)

{

CAboutDlgdlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog:

:

OnSysCommand(nID,lParam);

}

}

//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,

//thisisautomaticallydoneforyoubytheframework.

voidCMobile_listDlg:

:

OnPaint()

{

if(IsIconic())

{

CPaintDCdc(this);//devicecontextforpainting

SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//Drawtheicon

dc.DrawIcon(x,y,m_hIcon);

}

else

{

CDialog:

:

OnPaint();

}

}

//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags

//theminimizedwindow.

HCURSORCMobile_listDlg:

:

OnQueryDragIcon()

{

return(HCURSOR)m_hIcon;

}

voidCMobile_listDlg:

:

OnBUTTONadd()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

adderdlg;

if(IDOK==dlg.DoModal())

{

m_list.InsertItem(0,dlg.m_name);

m_list.SetItemText(0,1,dlg.m_phone);

m_list.SetItemText(0,2,dlg.m_telephone);

}

}

voidCMobile_listDlg:

:

OnBUTTONmodify()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

if(!

m_list.GetItemCount())

{

MessageBox("没有记录可以修改!

");

return;

}

modifydig;

dig.m_name=m_list.GetItemText(0,0);

dig.m_phone=m_list.GetItemText(0,1);

dig.m_telephone=m_list.GetItemText(0,2);

intindex=0;

index=m_list.GetNextItem(0,LVNI_SELECTED);

if(-1==index)

{

dig.m_name=m_list.GetItemText(0,0);

dig.m_phone=m_list.GetItemText(0,1);

dig.m_telephone=m_list.GetItemText(0,2);

if(dig.DoModal())

{

m_list.SetItemText(0,0,dig.m_name);

m_list.SetItemText(0,1,dig.m_phone);

m_list.SetItemText(0,2,dig.m_telephone);

}

}

else

{

dig.m_name=m_list.GetItemText(index,0);

dig.m_phone=m_list.GetItemText(index,1);

dig.m_telephone=m_list.GetItemText(index,2);

if(dig.DoModal())

{

m_list.SetItemText(index,0,dig.m_name);

m_list.SetItemText(index,1,dig.m_phone);

m_list.SetItemText(index,2,dig.m_telephone);

}

}

}

voidCMobile_listDlg:

:

OnBUTTONdelete()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

if(!

m_list.GetItemCount())

{

MessageBox("没有记录可以删除!

","Error!

",MB_ICONERROR|MB_OKCANCEL);

return;

}

intindex=0;

index=m_list.GetNextItem(0,LVNI_SELECTED);

if(-1==index)

{

if(IDOK==MessageBox("确定删除?

","Information",MB_OKCANCEL))

m_list.DeleteItem(0);

}

else

{

if(IDOK==MessageBox("确定删除?

","Information",MB_OKCANCEL))

m_list.DeleteItem(index);

}

}

voidCMobile_listDlg:

:

OnBUTTONsort()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

if(!

m_list.GetItemCount())

{

MessageBox("没有记录可以排序!

");

return;

}

for(intz=0;z

{

if(m_list.GetItemText(z,0)=="")

m_list.DeleteItem(z);

}

intindex;

index=m_list.GetItemCount();

CStringstr1[100],str2[100],str3[100];

for(inti=0;i

{

str1[i]=m_list.GetItemText(i,0);

str2[i]=m_list.GetItemText(i,1);

str3[i]=m_list.GetItemText(i,2);

}

for(intk=0;k

{

for(intj=k+1;j

{

if(str1[k]>str1[j])

{

CStringtemp=str1[j];

str1[j]=str1[k];

str1[k]=temp;

temp=str2[j];

str2[j]=str2[k];

str2[k]=temp;

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

当前位置:首页 > 总结汇报 > 学习总结

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

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