c面向对象程序设计项目教程项目九.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C面向对象程序设计项目教程项目九会计学第1页/共20页项目说明根据乘客和管理人员的需求,飞机订票系统可以提供下列服务:(1)浏览、查询航班信息;(2)购票、退票;(3)管理航班信息(管理人员权限)。第2页/共20页预备知识 接到项目要求后,首先需要分析项目中提出的要求然后定义项目的功能。根据功能的划分再进行类与核心控制的设计,最后进行编码和测试。具体可分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)编码完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。第3页/共20页综合实践 设计飞机订票系统一、问题分析和功能定义二、类设计及实现三、核心控制设计四、编码与测试第4页/共20页一、问题分析和功能定义 这个阶段的工作也叫作“需求分析”,需要程序员和用户共同分析问题,从而确定整个软件系统要完成的功能。飞机订票系统的功能结构如图所示。第5页/共20页(一)更新航班信息模块 该模块用于更新对航班信息,仅向管理人员开放使用,需进行身份验证。其下分为五个子功能模块——信息库的重建、信息的插入、修改、删除和清空数据。(二)订票和退票模块 订票时,首先按航班编号或站点查询该航班的基本信息,当剩余座位数大于0且当前系统时间小于起飞时间时才能售票,售票后系统自动更新剩余座位数。 退票时,需输入退票的班次,只有该航班未发出时才能退票,退票后将自动更新剩余座位数。第6页/共20页(三)查询航班信息模块 可以实现按航班号和按站点的两种方式进行查询并将查询到的信息输出。(四)浏览航班信息 该模块用于将文件中的航班信息按照要求的格式全部输出。如果当前系统时间超过了某航班的起飞时间,则显示“此次航班已发出”的提示信息。 程序中各功能模块所需的数据都直接取自文件,而不是依赖其他模块,这样一来,保证了各模块的独立和数据的安全。第7页/共20页二、类设计及实现 本阶段的工作是要给出所有对象的描述,并确定对象之间是如何交互的。本项目中定义了两个类:Flight类和Traffic_system类。Flight类封装了航班的数据信息和方法,Traffic_system类用于管理Flight类对象。(一)Flight类 Flight类中的数据信息主要包括:航班的航班号、起飞时间、站点等信息;方法主要包括:本次航班信息的输入、输出,对本航班的订票、退票管理,对时间、站名的核对,另外,重载了提取和插入运算符以方便对文件的输出和读取。第8页/共20页class Flight{public: char m_fnum[10]; //航班号 int m_ftime[2]; //起飞时间 char m_fstar[18]; //起始站 char m_fdestination[18]; //终点站 int m_fprice; //票价 int m_fseat; //票数 Flight() { m_fnum[0] = +; } Flight类的具体信息如下所示:第9页/共20页bool SetInfo(); //设置航班信息friend istream operator(istream in, Flight cp); //提取运算符重载friend ostream operator(ostream out, Flight cp); //插入运算符重载void Display(); //输出航班信息bool Book(); //订票void Refund(); //退票bool If_takeoff(); //判断是否起飞bool If_deleted(); //判断是否删除bool If_match(char (*p)[18], char ta);//判断航班号或站点名是否相同};第10页/共20页(二)Traffic_system类 航班有多组,为了方便管理Flight类的各个对象,这里定义了一个Traffic_system类。将Flight类的对象作为Traffic_system类的数据成员,另外定义了一个数据成员用于记录航班数。 该类中还定义了两个私有的成员函数完成对文件的读写。其他共有的成员函数如Manage()、void Scan()、Search()和BookRefund()用来完成系统的管理信息、浏览、查询和订票、退票功能。第11页/共20页Traffic_system类的具体信息如下所示:class Traffic_system{public: Traffic_system() { m_sum = 0; } void Manage(); //管理航班信息 void

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档