C语言-飞机订票系统
飞机订票系统
一、课程设计目的
(1)了解并掌握算法的设计方法,具备初步的独立分析和设计能力;
(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
二、课程设计的内容和要求
本程序主要用于机票的管理,甩以提供了以下功能,行班信息输入输出保存、航线查询、订票,退票,和修改航班信息。
创建航班信息:包括航班号、起飞时间、降落时间、起飞抵达城市、航班票价、及票价的折扣,票数等信息.录入的信息应该保存在一个文件里。
浏览航班信息:通过浏览系统,客户可以根据自己时间、金钱等多方面的因素选择适合自己的航班。
修改航班信息:当航班信息改变可以修改航班数据文件。
查询航班信息:可通过航班号查询,可通过飞机终点站查询,也可以按航线查询。删除航班信息:可通过航班号删除,也可以按航线删除。
添加航班信息:按添加的航班数量依次添加航班信息
订票:可以订票,如果该航班已经无票,可以推荐相关航班
退票:不满意所订的票时可进行退票
三、算法的基本思想
1.涉及到的数据结构
typedef struct flightnode //定义结构体数组
{
int num; //航班号
char start[20]; //起始城市
char over[20]; //终点城市
char Stime[10]; //起始时间
har Etime[10];
int Price;
int Discount; //折扣
int count; //机票数
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)函数原形:NODE *search():查找航班信息数据
2) 功能:由于航班的录入和保存是由链表存储结构进行的,所以此查询就可通过链表对该文件进行查看或者查询,查询我们可根据航班号和航班抵达的城市和航线匹配查询,在查询中将需要查询的航班号 no和文件阅读时指针所指的值num进行比较,而按抵达城市查找则利用函数strcmp(p->next->start,name1)若匹配则输出;
删除航班信息模块
1)函数原形:void del()
2) 功能:选择按什么方式删除,然后按该方式删除
添加航班信息模块
1)函数原形:void add();
2) 功能:按添加的航班数量依次添加航班信息
订票信息模块
1)函数原形:int book_tickets()
2) 功能:先根据search()函数查询要订票的航班,在订票时应先按乘客想要定的航班号或者抵达城市或航线查询,并按乘客欲定的票的数目与查询数目进行比较,若订票的票数小于该航班票数,则输出订票成功,,且在整个定票系统中,所有的定票都用链表进行存储管理
退票信息模块
1)函数原形:int tuipiao()
2) 功能:在退票系统中即对航班票的数据文件进行管理,所以可先按照查询航班票的方法,若查询到的票的信息和乘客此时要求退票的信息相匹配,则在该定票数据文件中删除相应的该票的节点,再修改其航班信息
。