C面向对象程序设计项目教程项目九实用教案

上传人:莉**** 文档编号:63431072 上传时间:2022-03-18 格式:PPT 页数:21 大小:828.50KB
收藏 版权申诉 举报 下载
C面向对象程序设计项目教程项目九实用教案_第1页
第1页 / 共21页
C面向对象程序设计项目教程项目九实用教案_第2页
第2页 / 共21页
C面向对象程序设计项目教程项目九实用教案_第3页
第3页 / 共21页
资源描述:

《C面向对象程序设计项目教程项目九实用教案》由会员分享,可在线阅读,更多相关《C面向对象程序设计项目教程项目九实用教案(21页珍藏版)》请在装配图网上搜索。

1、根据乘客(chngk)和管理人员的需求,飞机订票系统可以提供下列服务:(1)浏览(li ln)、查询航班信息;(2)购票、退票(tu pio);(3)管理航班信息(管理人员权限)。项目说明第1页/共20页第一页,共21页。预备(ybi)知识 接到项目要求后,首先需要分析项目中提出(t ch)的要求然后定义项目的功能。根据功能的划分再进行类与核心控制的设计,最后进行编码和测试。具体(jt)可分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)编码完成系统的

2、应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。第2页/共20页第二页,共21页。一、问题分析(fnx)和功能定义二、类设计(shj)及实现三、核心(hxn)控制设计四、编码与测试综合实践 设计飞机订票系统第3页/共20页第三页,共21页。一、问题分析和功能(gngnng)定义 这个阶段的工作也叫作“需求分析”,需要程序员和用户共同分析问题,从而确定(qudng)整个软件系统要完成的功能。飞机订票系统的功能结构如图所示。第4页/共20页第四页,共21页。(一)更新(gngxn)航班信息模块 该模块用于更新(gngxn)对航班信息,仅向管理人员开放使用,需进行身份验证。其下分

3、为五个子功能模块信息库的重建、信息的插入、修改、删除和清空数据。(二)订票和退票(tu pio)模块 订票时,首先按航班编号或站点查询该航班的基本信息,当剩余座位数大于0且当前系统时间小于起飞时间时才能售票,售票后系统自动更新剩余座位数。 退票时,需输入退票的班次,只有该航班未发出时才能退票,退票后将自动更新剩余座位数。第5页/共20页第五页,共21页。(三)查询(chxn)航班信息模块 可以实现(shxin)按航班号和按站点的两种方式进行查询并将查询到的信息输出。(四)浏览(li ln)航班信息 该模块用于将文件中的航班信息按照要求的格式全部输出。如果当前系统时间超过了某航班的起飞时间,则显

4、示“此次航班已发出”的提示信息。 程序中各功能模块所需的数据都直接取自文件,而不是依赖其他模块,这样一来,保证了各模块的独立和数据的安全。第6页/共20页第六页,共21页。二、类设计(shj)及实现 本阶段的工作是要给出所有对象的描述(mio sh),并确定对象之间是如何交互的。本项目中定义了两个类:Flight类和Traffic_system类。Flight类封装了航班的数据信息和方法,Traffic_system类用于管理Flight类对象。(一)Flight类 Flight类中的数据信息主要包括:航班的航班号、起飞时间、站点等信息;方法主要包括:本次(bn c)航班信息的输入、输出,对本

5、航班的订票、退票管理,对时间、站名的核对,另外,重载了提取和插入运算符以方便对文件的输出和读取。第7页/共20页第七页,共21页。class Flightpublic:char m_fnum10; /航班号int m_ftime2;/起飞时间char m_fstar18;/起始站char m_fdestination18;/终点站int m_fprice;/票价(pio ji)int m_fseat;/票数Flight()m_fnum0 = +; Flight类的具体(jt)信息如下所示:第8页/共20页第八页,共21页。bool SetInfo();/设置航班信息friend istream

6、& operator(istream& in, Flight& cp);/提取运算符重载friend ostream& operator(ostream& out, Flight& cp);/插入运算符重载void Display();/输出航班信息bool Book();/订票void Refund();/退票bool If_takeoff();/判断是否起飞bool If_deleted(); /判断是否删除(shnch)bool If_match(char (*p)18, char ta);/判断航班号或站点名是否相同;第9页/共20页第九页,共21页。(二)Traffic_system

7、类 航班有多组,为了方便管理Flight类的各个对象,这里定义了一个Traffic_system类。将Flight类的对象作为(zuwi)Traffic_system类的数据成员,另外定义了一个数据成员用于记录航班数。 该类中还定义了两个私有的成员(chngyun)函数完成对文件的读写。其他共有的成员(chngyun)函数如Manage()、void Scan()、Search()和BookRefund()用来完成系统的管理信息、浏览、查询和订票、退票功能。第10页/共20页第十页,共21页。Traffic_system类的具体(jt)信息如下所示:class Traffic_systempu

8、blic: Traffic_system() m_sum = 0; void Manage();/管理航班信息 void Scan();/浏览 int Search(int invoke = 0);/查询功能 void BookRefund();/订票和退票private: void Read_file();/读取文件 void Save_file();/保存(bocn)文件 int m_sum;/记录航班数 vector v_array;/航班类数组;第11页/共20页第十一页,共21页。三、核心(hxn)控制设计 核心控制设计阶段主要完成程序的框架设计,这是实现软件系统体系(tx)的核心。

9、在本项目中,程序的核心部分是数据存储结构的选择以及类中函数的设计。(一)数据存储结构(jigu)的选择 乘客的基本信息包括航班号、起始站、终点站、起飞时间、票价、余票量等,乘客的数量较大且不固定,因此我们使用动态增长的Flight类数组来保存这些信息,在必要的时候可将数组的内容保存到文件中。第12页/共20页第十二页,共21页。 在本程序中我们使用的是vector数组,vector是C+标准程序库中的一个类,可视为会自动扩展(kuzhn)容量的数组。使用vector时需在头文件中包含下面的代码:#include 声明一个(y )vector变量的方法如下:vector v; 其中,T是vect

10、or要存储(cn ch)的对象集合的类型,该vector的变量名称是v。 访问vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,在本程序中我们用到了它的函数push_back(),其作用是在vector最后添加一个元素。第13页/共20页第十三页,共21页。(二)函数的设计(shj)与实现 本项目中函数的实现比较简单,这里不再赘述(zhush),读者可参照源码。这里只将程序中带参数的函数进行简单介绍。1istream& operator(istream& in, Flight& cp) 提取运算符重载函数使用了形参in和cp:形参in为“istream&”引用类型,与该函

11、数的返回值相同,故可以将该函数的返回值传给该形参,实现“”操作符的连续(linx)使用;形参cp为“Flight&”引用类型,实现了对Flight类对象的输入重载。第14页/共20页第十四页,共21页。2ostream& operator(ostream& out, Flight& cp)插入运算符重载函数使用(shyng)了形参out和cp,其作用与提取运算符重载函数类似。3bool Flight:If_match(char (*p)18, char ta) 该函数使用了形参p和ta:形参p为指向字符数组的指针,它用来指向一个大小(dxio)为18的字符数组;形参ta为字符型,其作用是使该函

12、数区分航班号和站点名两种比较。4int Traffic_system:Search(int invoke = 0) 该函数使用了形参invoke,该形参为int型并设置默认参数(cnsh)为0,其作用为区分调用者,以便输出相应的提示信息。四、编码与测试编码与测试的工作将在任务实施中进行。第15页/共20页第十五页,共21页。任务实施设计(shj)飞机订票系统步骤1 在Visual C+中创建一个工作区,并在此工作区中创建一个Console Application即控制台应用程序类型的工程。在此工程中我们(w men)添加一个名为flight的头文件以及同名的一个源文件,其代码略。步骤2 在步骤

13、1创建的工程(gngchng)中添加一个名为Traffic_system的头文件以及同名的一个源文件,其代码略。步骤3 在Visual C+中新建一个C+源文件,命名为main.cpp,用于编写程序的入口函数,其代码略。第16页/共20页第十六页,共21页。步骤4 经编译、连接(linji)后,程序即可运行,由于篇幅限制,这里仅给出程序功能测试中的部分运行结果如图所示。重新(chngxn)创建数据库信息浏览(li ln)航班信息第17页/共20页第十七页,共21页。订票退票(tu pio)并浏览航班信息第18页/共20页第十八页,共21页。Thank you!第19页/共20页第十九页,共21页。谢谢您的观看(gunkn)!第20页/共20页第二十页,共21页。NoImage内容(nirng)总结根据乘客和管理人员的需求,飞机订票系统可以提供(tgng)下列服务:。(7)完成系统总结报告以及系统使用说明书。本项目中定义了两个类:Flight类和Traffic_system类。形参cp为“Flight&”引用类型,实现了对Flight类对象的输入重载。插入运算符重载函数使用了形参out和cp,其作用与提取运算符重载函数类似。任务实施设计飞机订票系统。第19页/共20页。谢谢您的观看。第20页/共20页第二十一页,共21页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!