数据结构课程设计报告格式及要求航空购票系统Word格式.docx

上传人:b****6 文档编号:22189726 上传时间:2023-02-03 格式:DOCX 页数:15 大小:480.62KB
下载 相关 举报
数据结构课程设计报告格式及要求航空购票系统Word格式.docx_第1页
第1页 / 共15页
数据结构课程设计报告格式及要求航空购票系统Word格式.docx_第2页
第2页 / 共15页
数据结构课程设计报告格式及要求航空购票系统Word格式.docx_第3页
第3页 / 共15页
数据结构课程设计报告格式及要求航空购票系统Word格式.docx_第4页
第4页 / 共15页
数据结构课程设计报告格式及要求航空购票系统Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据结构课程设计报告格式及要求航空购票系统Word格式.docx

《数据结构课程设计报告格式及要求航空购票系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告格式及要求航空购票系统Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

数据结构课程设计报告格式及要求航空购票系统Word格式.docx

iii.程序控制上的完善

二、设计要点

1、改变了订票系统主界面格式及背景颜色;

2、增加了清屏功能,避免语句过多的结果;

3、实现了订票与否;

4、实现了只能输入正确航班;

5、实现了选择性别只能选择男女;

6、订票成功余票减少

三、算法实现

#include<

stdio.h>

#include<

stdlib.h>

malloc.h>

string.h>

#defineOK1

#defineERROR0

typedefstructairline{/*飞机航班的结构定义*/

charair_num[8];

//航班号

charplane_num[8];

//飞机号

charend_place[20];

//抵达城市

inttotal;

//总位置

intleft;

//剩余位置

structairline*next;

}airline;

/*顾客信息的结构定义*/

typedefstructcustomer{

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*)malloc(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,char*plane_num,char*end_place,inttotal,intleft)

airline*q;

q=(airline*)malloc(sizeof(airline));

strcpy(q->

air_num,air_num);

plane_num,plane_num);

end_place,end_place);

q->

total=total;

left=left;

next=NULL;

(*p)->

next=q;

(*p)=(*p)->

returnOK;

/*增加某航班的顾客信息*/

intinsert_cus(customer**p,char*name,char*sex,char*id,char*air_num,intseat_num)

customer*q;

q=(customer*)malloc(sizeof(customer));

name,name);

strcpy(q->

sex,sex);

id,id);

seat_num=seat_num;

/*订票操作*/

intbook(airline*a,char*air_num,customer*c,char*name,char*sex,char*id)

airline*p=a;

customer*q=c->

p=a->

p->

next!

{

if(strcmp(p->

air_num,air_num)==0)

break;

}

while(q->

=NULL)

q=q->

if(p->

left>

0)

您的座位号是%d"

(p->

total-p->

left+1));

printf("

\n"

insert_cus(&

q,name,sex,id,air_num,p->

left+1);

--p->

left;

p=p->

else

没您的座啦!

/*取消订票信息操作*/

intdel_cus(customer*c,airline*l,char*name)

customer*p,*pr;

pr=c;

p=pr->

while(p!

if(strcmp(p->

name,name)==0||strcmp(p->

strcpy(air_num,p->

air_num);

l=modefy_airline(l,air_num);

pr->

next=p->

取消订票成功!

pr=pr->

没有这个人儿啊\n"

returnERROR;

/*查找航班信息操作*/

intsearch_air(airline*head)

airline*p=head->

air_numplane_numend_placetotalleft\n"

%s%-10s%-8s%-8d%-8d\n"

p->

air_num,p->

plane_num,p->

end_place,p->

total,p->

left);

/*查找顾客信息操作*/

intsearch_cus(customer*head)

structcustomer*q=head->

namesexidair_numseat_num\n"

q!

q=q->

%-8s%-8s%-8s%-12s%-d\n"

q->

name,q->

sex,q->

id,q->

air_num,q->

seat_num);

/*预先设置航班信息*/

intcreat_air(airline**l)

airline*p=*l;

inti=0;

char*air_num[3]={"

007af"

"

008af"

009af"

};

char*plane_num[3]={"

航班1"

航班2"

航班3"

char*end_place[3]={"

美国"

德国"

法国"

inttotal[3]={100,100,100};

intleft[3]={52,54,76};

for(i=0;

i<

3;

i++)

insert_air(&

p,air_num[i],plane_num[i],end_place[i],total[i],left[i]);

/*预先设置已订票的顾客信息*/

intcreat_cus(customer**l)

customer*p=*l;

char*name[3]={"

张三"

李四"

王五"

char*sex[8]={"

nan"

char*id[20]={"

123456"

654321"

741852"

intseat_num[3]={2,5,7};

p,name[i],sex[i],id[i],air_num[i],seat_num[i]);

voidmain()

{

system("

color8E"

intt=1;

customer*cus=start_cus();

airline*air=start_air();

charname[8],air_num[8],ch,m;

charsex[8],id[20];

creat_air(&

air);

creat_cus(&

cus);

search_air(air);

while(t==1)

\n\n\n"

*********************************\n"

*欢迎来订票哦,亲!

*\n"

*订票----------1*\n"

*退票----------2*\n"

*查询----------3*\n"

*退出----------4*\n"

scanf("

%s"

&

ch);

if(ch=='

1'

system("

cls"

search_air(air);

亲,想乘坐哪辆航班嘞:

air_num);

if(strcmp(air_num,"

)==0||strcmp(air_num,"

)==0)

{

亲叫啥嘞:

name);

y1:

您的性别(nanornv):

scanf("

sex);

if(strcmp(sex,"

)==0||strcmp(sex,"

nv"

{

您的id:

id);

}

else{gotoy1;

*确认请输入Y否则输入N:

m);

if(m=='

Y'

||m=='

y'

{

订票成功!

book(air,air_num,cus,name,sex,id);

elseif(m=='

n'

N'

printf("

取消航班成功!

else

{

printf("

您的输入有误\n"

}else

对不起,没有你要找的航班:

\n\n"

system("

pause"

2'

system("

您不想座哪个航班号啦:

air);

您的姓名是啥来着:

del_cus(cus,air,name);

3'

search_air(air);

search_cus(cus);

4'

t=0;

4、运行结果分析

1.订票系统主界面

2、订票成功操作

3、订票航班输入错误操作

4、选择男女操作

5、选择订票是与否操作

五、设计总结

这次课程设计使用了C语言来编写程序,使我们的基础知识和数据结构的链表等知识得到了巩固,使我们在实践中得到了锻炼。

这次的课程设计,使我更加认识了数据结构,对调试掌握的也更加熟练了一些,对调试也有了新的认识,理解了调试的目的和意义,认识到了编程时要耐心,要严谨,同时在写程序时多多加些注释,既增加了程序的可读性,也可以使自己在读程序时更容易,更清楚。

 

通过这次课程设计,激发了我对数据结构的兴趣,提高了我对数据结构的学习动力,还让我在知识上得到了提高。

相信我会在以后的学习中会得到更多的收货。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1