资源描述:
《数据结构课程设计报告格式及要求(航空购票系统)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构课程设计报告题目航空客运订票系统专业班级学号姓名指导教师成绩一、设计任务航空客运订票的业务包括查询(航线和客票预订的)信息、客票预订和办理退票等。基本要求有:(1)系统必须存储的数据信息i.航班信息:飞机抵达城市、航班号、飞机号、起降时间、航班票价、票价折扣、总位置和剩余位置、已订票的客户名单。ii.客户信息:客户姓名、证件号、座位号。(2)系统能实现的功能i.承办订票业务:根据客户提出的要求(飞机低达城市、起降时间、订票数量)查询该航班信息(包括票价、折扣和剩余位置),若满足要求,则为客户办理订票手续,输出座位号。ii.承办退票业务:根据客户提供的情况(航班号、订票数量),为客户办
2、理退票手续。(3)查询功能i.查询航线信息:根据飞机降落地点,输出下列信息:航班号、飞机号、起降时间、航班票价、票价折扣和剩余位置。ii.查询客户预订信息:根据客户证件号,输出下列信息:航班号、飞机号和座位号。提供的参考程序已经基本实现以上功能,但有很多不足之处,要求进行程序改进和完善。具体任务有:(1)分析参考程序实现了哪些功能?指出存在的缺陷。(2)从以下几方面完善程序:i.功能上的完善ii.程序结构上的完善iii.程序控制上的完善二、设计要点1、改变了订票系统主界面格式及背景颜色;2、增加了清屏功能,避免语句过多的结果;3、实现了订票与否;4、实现了只能输入正确航班;5、实现了选择性别
3、只能选择男女;6、订票成功余票减少三、算法实现#include#include#include#include#defineOK1#defineERROR0typedefstructairline{/*飞机航班的结构定义*/charair_num[8];//航班号charplane_num[8];//飞机号charend_place[20];//抵达城市inttotal;//总位置intleft;//剩余位置structairline*next;}airline;/*顾客信息的结构定义*/typedefstruct
4、customer{charname[8];//姓名charsex[8];//性别charid[20];//身份证charair_num[8];//航班号intseat_num;//座位号structcustomer*next;//指向下一个旅客}customer;/*创建航班链表*/airline*start_air(){airline*a;a=(airline*)malloc(sizeof(airline));if(a==NULL)printf("空间不足");returna;}/*创建顾客链表*/customer*start_cus(){customer*c;c=(customer*)m
5、alloc(sizeof(customer));if(c==NULL)printf("空间不足");returnc;}/*修改航班的空余座位信息*/airline*modefy_airline(airline*l,char*air_num){airline*p;p=l->next;for(;p!=NULL;p=p->next){if(strcmp(air_num,p->air_num)==0){p->left++;returnl;}printf("NOtheairline!");return0;}}/*增加航班信息*/intinsert_air(airline**p,char*air_num
6、,char*plane_num,char*end_place,inttotal,intleft){airline*q;q=(airline*)malloc(sizeof(airline));strcpy(q->air_num,air_num);strcpy(q->plane_num,plane_num);strcpy(q->end_place,end_place);q->total=total;q->left=left;q->next=NULL;(*p)->next=q;(*p)=(*p)->next;returnOK;}/*增加某航班的顾客信息*/intinsert_cus(custome
7、r**p,char*name,char*sex,char*id,char*air_num,intseat_num){customer*q;q=(customer*)malloc(sizeof(customer));strcpy(q->name,name);strcpy(q->sex,sex);strcpy(q->id,id);strcpy(q->air_num,air_num);q->seat_num=sea