课程设计报c++告.docx

上传人:b****8 文档编号:29694647 上传时间:2023-07-26 格式:DOCX 页数:15 大小:462.48KB
下载 相关 举报
课程设计报c++告.docx_第1页
第1页 / 共15页
课程设计报c++告.docx_第2页
第2页 / 共15页
课程设计报c++告.docx_第3页
第3页 / 共15页
课程设计报c++告.docx_第4页
第4页 / 共15页
课程设计报c++告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

课程设计报c++告.docx

《课程设计报c++告.docx》由会员分享,可在线阅读,更多相关《课程设计报c++告.docx(15页珍藏版)》请在冰豆网上搜索。

课程设计报c++告.docx

课程设计报c++告

《面向对象程序设计C++》

课程设计图书管理系统说明书

 

组员:

黄**、吴**、曾**、陈**

院系:

电子信息工程学院

专业班级:

计算机***

指导教师:

邹金安

 

日期:

2011年12月

目录

《面向对象程序设计C++》1

课程设计图书管理系统说明书1

一、实验目的2

二、实验原理2

1、类与对象3

2、构造函数3

3、继承、虚函数3

三、实验要求3

1.实验准备3

2.实验步骤3

3.系统主要功能:

4

四、实验仪器设备和软件环境4

五、实验步骤及结果测试及分析。

4

六.实验心得8

七.附录(部分关键代码)9

八.参考文献12

 

背景:

课程设计比教学实验复杂,涉及的深度较广,并更加实用。

目的是通过课程设计的综合训练,培养实际分析问题和编程能力。

最终目标是通过课程设计的形式,帮助学习者系统地掌握该门课程的主要内容,更好地完成学习任务。

另外,课程设计中的较大规模的综合设计,可以分成几个小项目进行分工合作,以培养团队协作精神。

一、实验目的

综合复习课程的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高独立分析问题和解决问题的能力,进一步培养动手实践技能。

实验内容主要包括:

(1)了解图书管理系统的功能,需要完成的主要任务;

(2)掌握类、对象、继承等面向对象技术的编程实现;

(3)掌握如何进行一个较完整系统的整合。

二、实验原理

在以往学习的基础上,对以往所学内容进行整合,综合运用类、对象、继承等面向对象技术,进行图书管理系统的开发。

面向对象的几个基本概念:

1、类与对象

类是C++语言封装的基本单位,用来创建对象,它是定义对象形式的模板,指定代码和数据。

C++使用类的规范构建对象,对象是类的实例。

定义一个类时,要声明其包含的数据以及处理这些数据的代码。

数据包含于由类定义的实例变量中,代码则包含于函数中,组成类的代码和数据称为这个类的成员。

 

2、构造函数

构造函数在对象创建时进行初始化,为类定义的实例变量赋初始值,或者执行一个结构完整的对象必须的任何其他启动过程。

3、继承、虚函数

继承允许一个类继承另一个类的特征。

使用继承可以创建一个普通类,定义一组相关对象的共有特征,然后这个类可以由另一个更为具体的类继承,每个类都可以增加自己独有的元素。

虚函数建立在继承的基础上,支持多态,即“一个接口多种方法”的面向对象编程原则。

在C++中被继承的类叫基类,继承基类的类是派生类。

因此,派生类就是基类的具体版本。

派生类继承基类定义的所有成员并添加自己的独特元素。

C++通过允许一个类将另一个类合并到其声明中来实现继承。

C++支持多态性的基础,由继承和基类指针组成,实际实现多态性的具体功能就是虚函数。

虚函数在基类中声明为virtual,并在一个或多个派生类中重新定义。

因此,每个派生类都可以有自己的虚函数版本。

调用时,C++根据指针指向的对象的类型确定调用函数的哪个版本。

因此,如果基类包含虚函数且有两个或多个类由基类派生而来,那么当通过基类指针指向不同类型对象时,就会执行不同版本的虚函数。

多态性是面向对象编程的基本功能,因为它允许一般化的类指定类的所有派生类共用的那些函数,同时允许派生类定义所有这些函数或其中一部分函数的具体实现。

三、实验要求

1.实验准备

(1)综合复习编写该程序要用到的所有知识点。

(2)安装VisualC++6.0集成开发环境。

2.实验步骤

(1)调研:

到图书馆、资料室调研图书管理方式及图书分类的国家标准。

(2)系统分析:

分析系统的构成模块和开发流程。

(3)系统开发:

按照系统模块的划分和开发流程,编写程序代码。

(4)系统测试:

做单元、接口、集成测试,白盒和黑盒两种方法相结合。

(5)系统提交:

提交程序,实验报告,测试数据和结果。

3.系统主要功能:

(1)读者借书。

(2)读者还书。

(3)图书维护。

(4)读者维护。

四、实验仪器设备和软件环境

计算机,Windows2000或WindowsXP操作系统,VisualC++6.0

五、实验步骤及结果测试及分析。

对多个模拟数据进行测试,观察图书、读者信息的更新,对系统的各项功能都要进行一一测试,充分运用黑盒测试和白盒测试等手段进行。

(一)系统主功能模块图

图1系统功能模块图

(二)系统运行截图

主界面

程序归属说明

图书节约查询

图书分类管理系统

 

读者信息

被借图书信息

记录操作区

字串表

编辑区

信息

六.实验心得

黄**:

这次课程设计让我掌握了许多的有用知识。

首先通过不断地学习和锻炼更加熟悉地掌握应用软件Microsoft Visual C++6.0了。

设计正确及合适的程序对于我们初心者来说是很大的难题,出现一丁点错误就得费很大努力去修改,正式这一步步一点点的努力让我对C语言有了更加深刻的认识。

同时我掌握了解决问题的方法,无论是对以后的学习、生活都有无比重要的价值

吴**:

在这次课程设计中,我们小组完成了图书管理系统的设计,小组内的分工和相互协调很重要,大家在分工中扬长避短,个及所长,很好的提高了大家的积极性和合作意识,并有效的缩短了完成时间。

通过这次的设计,我学到了很多,同时也学会了细心与耐心的培养。

我想这在将来的工作或社会“旅程”中都将起到很大的帮助。

曾**:

在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模板,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模版。

不可避免程序中肯定依然存在着某些问题,我希望在以后的学习和应用中不断提高自己的能力,攻克遇到的难题。

同时我也深刻的体会到团队的合作是多么的重要

陈**:

在学习C++以前,我认为c++只是在c语言的基础上的一种延伸,认为只要学习c预言就可以用c语言的那种设计思想来学习c++\设计c++程序。

只是由于抱了这种思想,是我在一开始学习c++的时候遇到了很大的困难,我没有办法体会面向对象的设计思想,我在学习这门课的时候老是想着实现这个函数功能的具体过程,而没有太注意对象分类的重要性。

在学习这门课的过程中,我感受到了自己亲手编程序、调程序的重要性,我们要熟悉c++的语法、体会调试的思想,最好的一个手段就是自己动手编程、调试,这会比我们一味的看书效果好得多。

七.附录(部分关键代码)

//102图书城View.h:

interfaceoftheC102Viewclass

//

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

#if!

defined(AFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_)

#defineAFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_

#if_MSC_VER>1000

#pragmaonce

#endif//_MSC_VER>1000

classC102Set;

classC102View:

publicCRecordView

{

protected:

//createfromserializationonly

C102View();

DECLARE_DYNCREATE(C102View)

public:

//{{AFX_DATA(C102View)

enum{IDD=IDD_102_FORM};

C102Set*m_pSet;

//}}AFX_DATA

//Attributes

public:

C102Doc*GetDocument();

//Operations

public:

//Overrides

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(C102View)

public:

virtualCRecordset*OnGetRecordset();

virtualBOOLPreCreateWindow(CREATESTRUCT&cs);

protected:

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

virtualvoidOnInitialUpdate();//calledfirsttimeafterconstruct

virtualBOOLOnPreparePrinting(CPrintInfo*pInfo);

virtualvoidOnBeginPrinting(CDC*pDC,CPrintInfo*pInfo);

virtualvoidOnEndPrinting(CDC*pDC,CPrintInfo*pInfo);

//}}AFX_VIRTUAL

//Implementation

public:

virtual~C102View();

#ifdef_DEBUG

virtualvoidAssertValid()const;

virtualvoidDump(CDumpContext&dc)const;

#endif

protected:

//Generatedmessagemapfunctions

protected:

//{{AFX_MSG(C102View)

afx_msgvoidOnButtonaddnew();

afx_msgvoidOnButtondelete();

afx_msgvoidOnButtonupdate();

afx_msgvoidOnButtonfirst();

afx_msgvoidOnButtonprev();

afx_msgvoidOnButtonnext();

afx_msgvoidOnButtonlast();

afx_msgvoidOnRadio1();

afx_msgvoidOnRadio2();

afx_msgvoidOnButton3();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

#ifndef_DEBUG//debugversionin102图书城View.cpp

inlineC102Doc*C102View:

:

GetDocument()

{return(C102Doc*)m_pDocument;}

#endif

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

//{{AFX_INSERT_LOCATION}}

//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.

#endif//!

defined(AFX_102VIEW_H__641E7367_4011_40C3_9046_91B74C65F92C__INCLUDED_)

//102图书城Set.h:

interfaceoftheC102Setclass

//

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

#if!

defined(AFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_)

#defineAFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_

#if_MSC_VER>1000

#pragmaonce

#endif//_MSC_VER>1000

classC102Set:

publicCRecordset

{

public:

C102Set(CDatabase*pDatabase=NULL);

DECLARE_DYNAMIC(C102Set)

//Field/ParamData

//{{AFX_FIELD(C102Set,CRecordset)

CStringm_bookID;

CStringm_bookname;

CStringm_class;

CStringm_outhor;

CStringm_price;

intm_number;

CStringm_introduce;

CStringm_public;

CTimem_publictime;

CStringm_stdnum;

CStringm_bookID2;

CStringm_bookname2;

CTimem_brotime;

CStringm_identity;

CStringm_stdname;

//}}AFX_FIELD

//Overrides

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(C102Set)

public:

virtualCStringGetDefaultConnect();//Defaultconnectionstring

virtualCStringGetDefaultSQL();//defaultSQLforRecordset

virtualvoidDoFieldExchange(CFieldExchange*pFX);//RFXsupport

//}}AFX_VIRTUAL

//Implementation

#ifdef_DEBUG

virtualvoidAssertValid()const;

virtualvoidDump(CDumpContext&dc)const;

#endif

};

//{{AFX_INSERT_LOCATION}}

//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.

#endif//!

defined(AFX_102SET_H__98C62E7F_389F_49F6_9454_A2D60835C2C4__INCLUDED_)

八.参考文献

面向对象程序设计与VisualC++6.0教程作者邹金安厦门大学出版社

面向对象程序设计与VisualC++6.0学习指导书作者邹金安厦门大学出版社

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

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1