当前位置:去回答>百科问答>飞机订票系统

飞机订票系统

2024-08-01 22:40:36 编辑:join 浏览量:582

飞机订票系统

飞机订票系统

学生姓名:兰海军指导老师:易禹

摘要本系统主要是为了方便用户飞机订票,能使用户方便快捷的了解各航线信息。本系统设置了航线创建功能、浏览航班信息和查询航线信息功能、订票退票功能及查看剩余票数功能。在该系统当中,系统开发平台是Windows XP,程序设计设计语言采用Visual C++,数据库采用Microsoft Access,程序运行平台为Windows XP。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以在应用中解决实际问题。

关键词Access;Visual C++;飞机订票

目录

1问题描述与分析2

2数据结构设计描述3

3软件结构设计(系统功能模块图)3

4算法设计思想3

5调试分析6

6总结127参考文献138附录(源程序清单)14飞机订票系统要求可以实现如下功能:可以录入航班情况,可以查询某个航线的情况,如输入飞机到达城市,查询飞机航班情况;可以订票、退票。从问题的描述分析,该飞机定票系统必须具备以下几个功能模块:1)航线创建功能模块:包括终点站名、航班号、分机号、飞行日期、乘员定额、及余票量,准载人数等信息.。

2)浏览航班信息功能模块:查看创建的所有航线信息。

3)查询航线信息功能模块:可通过航班号查询,也可通过飞机到达地点查询。

4)订票功能模块:包括航班号、定票数量、订票客户姓名、舱位等级、身份证号码。所以采用如下方案:int tkt_sur;/*4.2.4我的心得也就这么多了,总之,不管学会的还是学不会的的

#include

#include

#include

#include

#define OK 1

#define ERROR 0

#define PR printf

#define NULL 0

int N=10;

typedef struct customer

{

char name;

int seat_num;

int left;

struct customer *next;

}customer;

customer *creat_customer()//初始化链表

{

customer *l;

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

if(l==NULL)

{

exit(0);

}

l->next=NULL;

return l;

}

int insert_customer(customer **p,char *name,int seat,int left)

{//customer链表插入操作

customer *q;

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

strcpy(q->name , name);

q->seat_num =seat;

q->left=left;

q->next=NULL;

(*p)->next=q;

(*p)=(*p)->next;

return OK;

}

int delete_cus(customer *h,char *name)//顾客退票

{

customer *p,*pr;

pr=h;

p=pr->next ;

while(p!=NULL)

{

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

{

pr->next =p->next ;

PR("顾客 %s 退票成功!\n",p->name );

return OK;

}

pr=pr->next ;

p=pr->next ;

}

PR("无此顾客,无法退票!\n");

return ERROR;

}

int save_customer (customer*l)//保存顾客信息

{

FILE *fp_customer;

customer *p=l->next;

char filename[]="c:\\customer.dat";

if((fp_customer=fopen(filename,"wb"))==NULL)

{

printf("can not open file to write:%s\n",filename);

return ERROR;

}

for(;p!=NULL;p=p->next)

{

fprintf(fp_customer,"%s,%d%",p->name,p->seat_num);

}

fclose(fp_customer);

return OK;

}

int book(customer *c,char *name)//订票函数

{

customer *q=c->next ;

for(;q->next !=NULL;q=q->next){}

{

if(q->left >0)

{

PR("恭喜您!订票成功!\n");

PR("你的座位号是: %d\n",(N-q->left +1));

insert_customer(&q,name,N -q->left +1,q->left);

q->left --;

return OK;

}

else PR("对不起,座位已满!\n");

return 0;

}

}

int print_customer(customer*l)//打印顾客信息

{

customer *p=l->next;

for(;p!=NULL;p=p->next)

{

PR("%10s %d\n",p->name,p->seat_num);

}

return OK;

}

void main()

{

char choice,name;

int t=1;

customer *cus=creat_customer();

customer *l = creat_customer();

while(t==1)

{

PR("*----------------------------*\n");

PR("*--航空订票系统选择菜单------*\n");

PR("* 订票-------0 *\n");

PR("* 退票-------1 *\n");

PR("* 查询-------2 *\n");

PR("* 退出-------5 *\n");

PR("*----------------------------*\n");

PR("请选择: ");

choice = getch();

PR("%c\n",choice);

if(choice=='0')

{

PR("请输入你的姓名: ");

scanf( "%s",name);

book(cus,name);

save_customer(cus);

}

else if(choice=='1')

{

PR("\n请输入你的姓名: ");

scanf( "%s",name);

delete_cus(cus,name);

save_customer(cus);

}

else if(choice=='2')

{

customer *p=l->next;

if(l!=NULL)

do

{

PR("%ld%5.1f\n",p->name,p->seat_num);

p=p->next;

}while(p!=NULL);

}

else if(choice=='3')

{

PR("byb");

t=0;

}

else

{

PR("error\n");

}

}

getch();

}

民航定位系统没见过这些乱码哦!!!

标签:订票,飞机,系统

版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/answer/195303.html
热门文章