- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构课程设计(C语言版)模拟飞机订票系统文档说明
一、问题描述:
试设计一个系统完成对航班的录入,查询,修改,订票,退票操作,航班与客户信息以文件的形式保存。
二、需求分析:
通过此系统可以实现如下功能:
1)录入:可以录入航班情况(数据可以存储在一个数据文件中)。
2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;
3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;
4)退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
5)修改航班信息:当航班信息改变可以修改航班数据文件
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数。客户结构体成员包括客户姓名、证件号码、订票航班号、订票数额。
三、具体模块划分:
根据需求分析,该程序可分为粗略以下七个模块:
模拟飞机订票系统输入
模拟飞机订票系统
输入
模块
输出
模块
订票
模块
退票
模块
查询
模块
修改
模块
删除
模块
四、代码设计:
该部分包括对数据结构定义的分析,各个主函数的定义分析,关键函数算法的分析。
1、数据结构的定义分析:
structFlight//定义航班结构体
{
charID_flight[20];//航班号
charCity_started[20];//航班起飞城市
charCity_landed[20];//航班抵达城市
charTime_started[10];//航班起飞时间
charTime_landed[10];//航班抵达时间
charPrice[10];//航班票价
charDiscount[10];//航班折扣
intflight_num;//航班票额
}airp[n];
structGuest//定义客户结构体
{
charname[20];//客户姓名
charID_guest[20];//客户证件号
charflight_booking[20];//客户所定航班
intbooking_sv;//客户订单号
intnum_booking;//客户所定机票额
}gt[n];
该部分定义了两个结构体数组分别用于存放航班信息、客户信息。各个数据类型如结构体所示。
说明一:
为什么在航班结构体中票价跟折扣选用字符型而不是浮点型。
因为当选用浮点型时,会出现以下编译错误提示:
忽略后提示出现:
解答:
在CSDN论坛找到以下答案:
用VC++6.0编译不通过,最后只好改成字符型代替。
说明二:
为什么选用结构体数组,而不是结构体链表?
当我们使用结构体数组来存储一组信息时,这些信息在内存单元中采用的是顺序存储结构。当我们要将这些信息写入文件的时候,可对这些信息进行正常的写入读取操作。而且没有空间的浪费。当我们采用结构体链表存储时,由于地址是动态分配的,物理位置上没有要求相邻存储。当对其进行文件的写入与读取时,并不是一件简单的事。
问题一:
当我们把链表中的每个结点作为一个整体块写入文件中时,此时会产生信息的冗余,此冗余就是结构体链表中指向下一个结点的指针所存储的地址。
问题二:
当我们从文件中读取数据重新构造链表的时候,在文件中所存储的指向下个结点的指针中所存储的原来旧有的地址是否会对我们新建的链表造成影响。
假设在文件中存储着多个结点的情况:
第一步:新开辟一个空间,假设这个空间地址为1000,并且作为链表的头结点,在文件中第一组数据中指向下一个结点所存储的指针中的地址为2000,如图所示:
第二步:重新开辟一个空间,地址为1500,令指针q指向其,并且从文件中读取数据。假设文件中所存储的指针中的地址为3000,如图所示
此时,令P指针所指向的next指针赋值为Q指针所存储的地址,也就是1500。那么,在头结点
您可能关注的文档
- 视觉线索对深度知觉的影响-实验报告.doc
- 是什么的工作职责.doc
- 适合小学三四年级的科学活动方案.doc
- 适老化改造人员岗位职责-概念解析以及定义.doc
- 适老建筑与环境设计基本理论-讲义..doc
- 室内设计全流程讲解.doc
- 室内装修技术标方案.doc
- 室温快固型发泡胶粘剂的研究.doc
- 手动破拆工具组.doc
- 手机如何打开bak文件.doc
- 国产大机扬国志,蓝天新翼绘宏图-2025年中考英语时文热点专练(原卷版).pdf
- 中考物理专项复习:简单机械及机械效率(含解析).pdf
- 初中英语时文阅读4(解析版).pdf
- Unit 3 My School 单元知识点梳理(背诵版+讲解版).pdf
- 巴以冲突、俄乌战争、叙利亚内战等国际冲突-2025年中考英语时文热点专练.pdf
- 名篇名句开放式理解性默写专训-2025年新高考语文一轮复习.pdf
- 2025年中考语文热点写作素材积累:杨妞花之一场跨越年的正义追索.pdf
- 人教版PEP英语六年级下册Unit 3 单元教学设计.pdf
- 2025年成都市初中学业水平考试英语试卷试题(含答案).pdf
- 2025届高考语文二轮复习小说指导练:对话描写的作用.pdf
最近下载
- 2025新人音版音乐一年级下册(赵季平主编)《第四单元 游戏》大单元整体教学设计[2022课标].pdf
- 医院检验科生物安全实验室人员培训和考核制度.docx VIP
- 劳动防护用品使用安全培训.pptx VIP
- 2024年06月国家税务总局广东省税务局系统公开招聘事业单位工作人员50人笔试近年[2018-2023]典型考题及考点剖析附答案带详解.docx VIP
- 【学习教程】小梅哥Xilinx FPGA自学教程V1.2.pdf
- 宁夏银川一中2020-2021学年高一上学期期末考试语文试题 Word版含答案.doc VIP
- 《刑事诉讼法》 课件 (高教-马工程) 第0--16章 绪论、马克思恩格斯的刑事诉讼观--死刑复核程序.pptx
- 《1-12月绿化养护计划》.doc
- 机电施工组织设计(施工方案).docx
- 1.新高一开学第一节班会课《如何适应高中生活》主题班会-(共23张PPT)(2)省公开课获奖课件市赛.pptx
文档评论(0)