《程序设计基础》课程设计报告
一、订票系统
【需求分析】
本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能即能够修改航班信息。具体分析如下:1、录入功能可以录入航班信息,如录入航班号,到达城市,起飞时间,飞机票数。2、查询功能可以查询航班的各项信息,如可以查询时间,起飞抵达城市,确定航班是否满仓,航班号。3、订票功能可以订票,所订航班的航班号以及所订的票数。4、退票功能可以退票。5、修改功能可以根据需要由管理员对航班信息进行修改更正。
【概要设计】
1、算法设计:每个模块的算法设计说明如下:(1)录入模块:在数组允许范围内,将无意义的“0”数据修改为有意义的信息。(2)查询模块:提供四种查方式:按航号、按时间和按终点站查询,1代表按航号查询,2代表按终点站查询,3代表按时间查询,4浏览全部。0则表示退出查询。按数组查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。(3)订票模块:查找乘客要订的航班号,判断此航班是否有空位,有则输入订票数,订票数小于剩余票数,订票成功,否则失败。(4)退票模块:输入要退票的座位号,查找乘客资料的链表中是否有这位乘客,有则用下一行数组覆盖该行,循环到最后不为“0”的行数或到最大航班号,并在空位加上1,无则退票失败。(5)修改模块:在航班信息数组中查找要修改的数据,进行修改,否则不能修改。
2存储结构设计:航班的信息:为了便于查找和修改,航班的情况存储结构采用数组,每个元素表示一个
航班的情况,包括序号、航班号、时间、终点站、票数以及剩余票数六个数据项:
序号航班号终点站时间票数剩余
f数据结构C语言描述如下:structflightstruct
charflight
umber20航班号charfi
ishi
gli
e20终点站chardate20日期u
sig
edmaxamou
t总票数u
sig
edremai
ders剩余票数u
sig
edseatstateSEATAMOUNT座位数组,贮存座位信息flightFLIGHTAMOUNT
【详细设计】
本系统源程序如下:i
cludestdiohi
cludestdlibhi
cludestri
gh
defi
eFLIGHTAMOUNT200最大航班数defi
eSEATAMOUNT500最大座位数
structflightstruct
charflight
umber20航班号charfi
ishi
gli
e20终点站chardate20日期u
sig
edmaxamou
t总票数u
sig
edremai
ders剩余票数u
sig
edseatstateSEATAMOUNT座位数组,贮存座位信息flightFLIGHTAMOUNT
voidope
FILEfp打开文件函数voidsaveFILEfp保存信息函数voidbuiltFILEfp建立文件函数voidma
age输入、管理信息r