C语言飞机订票系统

上传人:M****1 文档编号:507600795 上传时间:2023-03-06 格式:DOCX 页数:23 大小:111.46KB
返回 下载 相关 举报
C语言飞机订票系统_第1页
第1页 / 共23页
C语言飞机订票系统_第2页
第2页 / 共23页
C语言飞机订票系统_第3页
第3页 / 共23页
C语言飞机订票系统_第4页
第4页 / 共23页
C语言飞机订票系统_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C语言飞机订票系统》由会员分享,可在线阅读,更多相关《C语言飞机订票系统(23页珍藏版)》请在金锄头文库上搜索。

1、细心整理飞机订票系统一、课程设计目的1了解并驾驭算法的设计方法,具备初步的独立分析和设计实力;2初步驾驭软件开发过程的问题分析、系统设计、程序编码、测试等根本方法和技能;3提高综合运用所学的理论学问和方法独立分析和解决问题的实力;二、课程设计的内容和要求本程序主要用于机票的管理,甩以供应了以下功能,行班信息输入输出保存、航线查询、订票,退票,和修改航班信息。创立航班信息:包括航班号、起飞时间、着陆时间、起飞抵达城市、航班票价、及票价的折扣,票数等信息.录入的信息应当保存在一个文件里。 阅读航班信息:通过阅读系统,客户可以依据自己时间、金钱等多方面的因素选择适合自己的航班。修改航班信息:当航班信

2、息变更可以修改航班数据文件。查询航班信息:可通过航班号查询,可通过飞机终点站查询,也可以按航线查询。删除航班信息:可通过航班号删除,也可以按航线删除。添加航班信息:按添加的航班数量依次添加航班信息订票:可以订票,假如该航班已经无票,可以引荐相关航班退票:不满意所订的票时可进展退票三、算法的根本思想1.涉及到的数据构造typedef struct flightnode /定义构造体数组int num; /航班号char start20; /起始城市char over20; /终点城市 char Stime10; /起始时间 har Etime10;int Price; int Discount;

3、 /折扣int count; /机票数struct flightnode *next; NODE;2.根本功能模块飞机票管理系统修改航班信息订票退票添加航班信息删除航班信息查找航班信息阅读航班信息创立航班信息主函数模块。1) 函数原形:void main();2) 功能:调用initlist(&h) 函数和menu()函数,初始化函数和显示主界面创立航班信息模块1) 函数原形:void creat();2) 功能:本模块是对程序中的create()函数和save函数的详细说明链表的存储构造,对该创立的链表调用save函数,存储到数据文件中去阅读航班信息模块1) 函数原形: void print

4、();2) 功能:输出航班信息修改航班信息模块1)函数原形: void change() 2) 功能:当航班信息变更可以修改航班数据文件20查找航班信息模块1函数原形: NODE *search():查找航班信息数据2) 功能:由于航班的录入和保存是由链表存储构造进展的,所以此查询就可通过链表对该文件进展查看或者查询,查询我们可依据航班号和航班抵达的城市和航线匹配查询,在查询中将须要查询的航班号 no和文件阅读时指针所指的值num进展比拟,而按抵达城市查找那么利用函数strcmp(p-next-start,name1)假设匹配那么输出;删除航班信息模块1函数原形: void del()2) 功

5、能:选择按什么方式删除,然后按该方式删除添加航班信息模块1函数原形: void add();2) 功能:按添加的航班数量依次添加航班信息订票信息模块1函数原形: int book_tickets()2) 功能:先依据search()函数查询要订票的航班,在订票时应先按乘客想要定的航班号或者抵达城市或航线查询,并按乘客欲定的票的数目与查询数目进展比拟,假设订票的票数小于该航班票数,那么输出订票成功,且在整个定票系统中,全部的定票都用链表进展存储管理退票信息模块1函数原形: int tuipiao()2) 功能:在退票系统中即对航班票的数据文件进展管理,所以可先遵照查询航班票的方法,假设查询到的票

6、的信息和乘客此时要求退票的信息相匹配,那么在该定票数据文件中删除相应的该票的节点,再修改其航班信息。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,运行界面如下:五结论本次程序设计主要用到了构造

7、体、调用函数、文件的保存、输入以及输出等功能。使我对数据构造有了更深一层的相识,特别是对动态链表和文件的运用得到了很大的提高。在本次试验中程序曾屡次编译、运行出错,多亏了王帅老师的指导才将错误找出并改正,通过本次试验,我相识到实践和动手的重要性。六源程序及系统文件运用说明程序清单#include /标准输入、输出头文件#include /包含字符串函数处理头文件#include /包含动态存储与释放函数头文件typedef struct flightnode /定义构造体数组int num; /航班号char start20; /起始城市char over20; /终点城市 char Stim

8、e10; /起始时间 char Etime10;int Price; float Discount; /折扣int count; /机票数struct flightnode *next; NODE;#define PRINT %4d %9.6s %9.6s %9.6s %9.6s %9d %.1f %9d n,p-next-num,p-next-start,p-next-over,p-next-Stime,p-next-Etime,p-next-Price,p-next-Discount,p-next-count /定义输出格式void creat(); /创立航班信息文件void print

9、(); /输出航班信息void save(); /保存航班信息 int read(); /读取航班信息NODE *search(); /查找航班信息void del(); /删除航班信息int book_tickets(); /订票信息int tuipiao(); /退票信息void change(); /修改信息void menu(); /菜单void initlist(NODE *); /初始化函数void add(); /添加信息函数NODE *h=NULL; /建立全局变量,存链表头指针int m=0; /航班数量void initlist(NODE *h) *h=(NODE *)ma

10、lloc(sizeof(NODE);(*h)-next=NULL;void creat() /打印模块程序 FILE *fp;NODE *p=NULL; /定义移动指针 int i,flightnum;char y;p=h;if(fp=fopen(air.dat,rb)!=NULL)/翻开文件,并判定是否出错printf( 信息文件已经存在,不必创立!按随意键后回车返回nnn);/打印出错提示fclose(fp);fflush(stdin);getchar();return ;p=h; printf(请输入要输入的航班数量:); fflush(stdin); /去除文件缓冲区scanf(%d,

11、&flightnum); /读取航班数system(cls); /清屏printf( 请依次输入航班信息:nn); /打印提示信息printf(-n);for(i=0;inext=(NODE *)malloc(sizeof(NODE);p-next-next=NULL;printf(航班号:); fflush(stdin);scanf(%d,&p-next-num); /读取航班号printf(起始站:);fflush(stdin);scanf(%10s,&p-next-start);/读取起飞城市printf(终点站:);fflush(stdin);scanf(%10s,&p-next-over);/读取抵达城市printf(起始时间:);fflush(stdin);scanf(%10s,&p-next-Stime);/读取起飞时间printf(抵达时间:);fflush(stdin);scanf(%10s,&p-next-Etime);/读取抵达时间 printf(航班票价:);fflush(stdin);scanf(%d,&p-next-Price);/读取航班票价printf(票价折扣:);fflush(stdi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号