C语言-飞机订票系统_第1页
C语言-飞机订票系统_第2页
C语言-飞机订票系统_第3页
C语言-飞机订票系统_第4页
C语言-飞机订票系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

飞机订票系统一、课程设计的目的(1)了解并掌握算法的设计方法,具备初步的独立分析和设计能力;(2)掌握软件开发过程中的问题分析、系统设计、程序编码和测试等基本方法和技能;(3)综合运用所学的理论知识和方法,提高独立分析和解决问题的能力;二。课程设计的内容和要求该程序主要用于机票管理,提供以下功能:出行信息的输入和输出保存、路线查询、订票、退票和修改航班信息。创建航班信息:包括航班号、出发时间、着陆时间、出发和到达城市、航班票价、票价折扣、票数等信息。输入的信息应保存在文件中。浏览航班信息:通过浏览系统,客户可以根据自己的时间、金钱和其他因素选择适合自己的航班。修改航班信息:当航班信息发生变化时,可以修改航班数据文件。查询航班信息:您可以通过航班号、航站或航线进行查询。删除航班信息:可以通过航班号或航线删除。添加航班信息:根据添加的航班数量添加航班信息。订票:你可以订票。如果没有本次航班的机票,您可以推荐相关航班。退款:如果您对预订的机票不满意,可以退款。三、算法的基本思想1.涉及的数据结构Typedef结构flightnode /定义了一个结构数组int num/航班号char start20;/起始城市在上空充电20;/目的地城市char Stime10;/开始时间哈尔埃蒂姆10;国际价格;国际折扣;/折扣int计数;/机票数量struct flightnode * next NODE。2.基本功能模块机票管理系统修改航班信息预订退票添加航班信息删除航班信息查找航班信息浏览航班信息创建航班信息主要功能模块。1)原型功能:void main();2)功能:调用initlist(h)功能和menu()功能,初始化功能并显示主界面创建飞行信息模块1)功能原型:void creat();2)函数:该模块详细描述了程序中的create()函数和save()函数。链表的存储结构在创建的链表上被称为save()函数,并存储在数据文件中。浏览航班信息模块1)功能原型: void print();2)功能:输出航班信息修改飞行信息模块1)功能原型: void change()2)功能:当航班信息发生变化时,可以修改航班数据文件20查找航班信息模块1)功能原型:节点*搜索():查找航班信息数据2)功能:由于航班录入和存储是由链表存储结构完成的,因此该查询可以通过链表查看或查询文件。对于查询,我们可以根据航班号和航班到达的城市和路线进行查询。在查询中,要查询的航班号与指针在读取文件时指出的数值进行比较,如果匹配,则使用函数STRCMP (P-NEXT-START,NAM1)输出。删除航班信息模块1)原型: void del()2)功能:选择要删除的方法,然后以这种方式删除添加航班信息模块1)功能原型: void add();2)功能:根据增加的航班数量增加航班信息预订信息模块1)功能原型: int book_tickets()2)功能:首先根据search()功能查询要预订的航班。在预订期间,首先根据乘客想要预订的航班号或到达城市或路线进行查询,并将乘客想要预订的机票数量与查询数量进行比较。如果乘客想要预订的票数少于航班的票数,机票将被成功预订。此外,在整个订票系统中,所有的票都将通过链表来存储和管理。退款信息模块1)功能原型: inttuipao()2)功能:在退票系统中,对机票数据文件进行管理,所以可以先采用查询机票的方式。如果查询到的机票信息与乘客此时要求退款的信息相匹配,则可以从机票预订数据文件中删除该机票的对应节点,然后修改航班信息。3.主要功能模块流程图输出接口开始选择操作目标按航班号或路线退款信息放弃选择0备选方案8选项7预订信息添加航班信息删除航班信息查找航班信息选项6选项5选项4选项3修改航班信息浏览航班信息选项2选项1创建航班信息通过航班、终点站或路线四.系统试验1.选择1,操作界面如下:2.选择2,操作界面如下:3.选择3,操作界面如下:4.选择4,操作界面如下:5.选择5,操作界面如下:6.选择6,操作界面如下:7.选择7,操作界面如下:8.选择8,操作界面如下:9.选择0,操作界面如下:V.结论本程序设计主要使用结构、调用功能、文件保存、输入输出功能。我对数据结构有了更深的了解,尤其是动态链表和文件的使用有了很大的提高。在这个实验中,程序被编译并多次错误运行。在王帅先生的指导下,这个错误被发现并改正了。通过这个实验,我意识到实践和动手的重要性。六.源程序和系统文件的使用说明程序表#include /标准输入和输出头文件#include /包含处理头文件的字符串函数#include /包含动态存储和释放函数头文件Typedef结构flightnode /定义了一个结构数组int num/航班号char start20;/起始城市在上空充电20;/目的地城市char Stime10;/开始时间char Etime10;国际价格;浮动折扣;/折扣int计数;/机票数量struct flightnode * next NODE。#定义打印 m % 9.6s % 9.6s % 9.6s % 9.6s % 9.6s % . 1f n ,p-next-num,p-next-start,p-next-over,p-next-stime,p-next-etime,p-next-price,p-next-discount/定义输出格式void creat();/创建航班信息文件无效打印();/输出航班信息void save();/保存航班信息int read();/读取航班信息NODE * search();/查找航班信息void del();/删除航班信息int book _ tickets();/预订信息国际退票();/退款信息无效变更();/修改信息void菜单();/菜单void initlist(NODE * *);/初始化函数void add();/添加信息功能节点* h=空;/设置全局变量并存储链表头指针int m=0;/航班数量void initlist(NODE *h)* h=(NODE *)malloc(sizeof(NODE);(* h)-下一个=空;Void creat() /打印模块程序文件*fp。节点* p=空;/定义移动指针int i,flightnumchar y;p=h。if(fp=fopen(air.dat , rb )!=空)/打开文件并确定是否有错误Printf(信息文件已经存在,不要创建!按任意键并按回车键返回 n n n ;/打印错误提示f close(FP);ff rush(stdin);getchar();返回;p=h。打印(“请输入航班号,输入:”);ff rush(stdin);/清除文件缓冲区scanf(“% d”,flight num);/读取航班数量系统(cls);/清除屏幕打印(“请输入航班信息: n n”);/打印提示信息printf(- n );对于(I=0;inext=(NODE *)malloc(sizeof(NODE);p-next-next=空;printf(“:号航班”);ff rush(stdin);scanf(“% d”,p-next-num);/读取航班号打印(“起始工位:”);ff rush(stdin);scanf(s,p-next-start);/阅读出发城市打印(“终端:”);ff rush(stdin);scanf(s,p-next-over);/读取到达城市打印(“开始时间:”);ff rush(stdin);scanf(s,p-next-stime);/读取出发时间Printf(“到达时间:”);ff rush(stdin);scanf(s,p-next-etime);/读取到达时间Printf(“航班票价:”);ff rush(stdin);scanf(“% d”,p-next-Price);/读取航班票价Printf(“票价折扣:”);ff rush(stdin);scanf(f,p-next-discount);/阅读票价折扣Printf (: ,m)。ff rush(stdin);scanf(“% d”,p-下一个计数);/读取票号Printf(信息%d已输入n ,I 1);p=p-下一个;m;打印(输入信息后,如果保存:请按0;如果不保存,请按任何其他键);ff rush(stdin);y=getchar();if(y=0)save();/保存结构信息打印();/输出输入的航班信息Void save()/保存模块程序节点* p=空;/定义移动指针文件*fp,* fp1/定义指向文件的指针p=h。如果(FP=fopen (air.dat , WB )=null)/打开文件并确定是否有错误Printf(文件创建失败! n n n );/打印错误提示ff rush(stdin);getchar();返回;如果(fp1=fopen (num.dat , WB )=null)/打开文件并确定是否有错误Printf(文件创建失败! n n n )

温馨提示

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

评论

0/150

提交评论