民航售票管理系统(课程设计、C)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
case 10: save(filename); break;//保存航班信息
case 11: savename(filename2);break;//保存退订票信息
case 12: scan2();printf("\n按回车键返回…");getchar();getchar();break;
case 13: printf("请输入要统计的航班号:");scanf("%d",&n);k=tongji(n);
p->infor=t.infor;
head=end=p;
p->next=NULL;
while(!feof(fp))
{
if(fread(&t,sizeof(struct news),1,fp)==1)
{ p=(Read *)malloc(sizeof(Read));//连入其他节点
p->number=t.number;
}
3.界面函数
界面函数主要是为用户提供一个友好的操作界面,如下所示:
int select()
{
int t;
printf("\n***********************************菜*单***********************************");
printf("\t\t\t1.浏览信息\t2.按终点查找\n\t\t3.按起飞时间查找\t4.按航班号查找\n");
case 3: t=search1(); if(!t) printf("没有该时间出发的航班!!!");printf("\n按回车键返回…");getchar();getchar();break;
case 4: t=search(); if(!t) printf("没有该航班!!!!");printf("\n按回车键返回…");getchar();getchar();break;
/*从文件中读入OK*/
Read *insert(char filename[])
{
Read *head,*p;
struct news t;
head=(Read *)malloc(sizeof(Read));
end=head=NULL;
if((fp=fopen(filename,"rb"))==NULL)
printf("请选择(1--8):");
loop:scanf("%d",&t);
if(t<=0||t>14)
{ printf("输入不合法!!!请重输…");
goto loop;
}
return t;
}
主界面的设计
4读取函数
读取函数主要是针对需要从文件中读入数据的需求而编写的,其功能为:可以从一个二进制文件中读入数据,其源程序如下:
8.参考资料----------------------------------17
9.附录-------------------------------------18
5.正文
5.1课程设计题目要求
5.1.1内容要求
本系统要求实现如下功能:
1. 航班信息录入功能。航班信息用文件保存。
2. 航班信息的维护功能。航班信息增加、删除、修改功能。
printf("\t\t5.增添信息\t6.修改信息\n\t\t7.删除信息\t8.订票\n");
printf("\t\t9.退票\t10.保存航班信息\n\t\t11.保存退订票信息\t12.查看订票情况\n");
printf("\t\t13.统计订票信息\t14.退出\n");
printf("***********************************菜*单***********************************\n");
t.fly.minute=p->fly.minute;
t.land.hour=p->land.hour;
t.land.minute=p->land.minute;
t.man=p->man;
t.amount=p->amount;
t.infor=p->infor;
fwrite(&t,sizeof(struct news),1,fp);
printf("订%d的人数共有:%d还剩余%d个座位",n,k,shengyu-k);printf("\n按回车键返回…");getchar();getchar();break;//统计订票信息
case 14: system("cls");
printf("\n\n\n\n\n\n\t\t\t\t谢谢使用\n\t\t\t\t !!!\n\n\n");exit(0);
}
}
}
2.欢迎界面函数
该函数为欢迎用户使用功能的函数:
void huanying()
{
printf("\n\n\n\t********************************************\n\n\n");
printf("\t欢迎使用民航订票系统\n\n\n");
printf("\t********************************************\n\n\n");
课程设计报告书
民航售票管理系统
1.选择题目
题目:民航售票管理系统
2.内容摘要
摘要:对民航的运营而言,售票是民航最关键的部分之一,也是民航的“生命线”。而售票管理又是售票的核心技术。实行电子化的售票管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作,更重要的是用最短的时间能非常精确地完成工作,达到公司和顾客利益的最大化。本文介绍课程设计课题的选题意义,说明了本系统提供的主要功能,并画出功能框图,对设计思路、研究开发的过程、实现细节、开发工作进行了比较完整的综述,最后给出了作者在小学期设计过程的体会。
4.界面设计---------------------------------6
5.核心代码及说明---------------------------8
6.结论-------------------------------------10
7.后记-------------------------------------15
流程图:
源程序部分及其界面图:
1.主函数:
主函数主要是通过调用其他函数来实现其功能的,主函数如下:
void main()
{
char filename[20],filename2[20],ch;
int t,k,n;
huanying();
printf("请输入要打开航班信息的文件名:");
gets(filename);
{
p->amount=0;
q=p->infor;
while(q!=NULL)
{
p->amount++;q=q->next;
}
t.number=p->number;
strcpy(t.start,p->start);
strcpy(t.finish,p->finish);
t.fly.hour=p->fly.hour;
strcpy(p->start,t.start);
strcpy(p->finish,t.finish);
p->fly.hour=t.fly.hour;
p->fly.minute=t.fly.minute;
p->land.hour=t.land.hour;
p->land.minute=t.land.minute;
head=insert(filename);
printf("请输入要打开订票信息的文件名:");
gets(filename2);
inse(filename2);
while(1)
{ system("cls");
t=select();
switch(t)
{பைடு நூலகம்
case 1: scan();break;
case 2: t=search2(); if(!t) printf("没有到达该终点的航班!!!");printf("\n按回车键返回…");getchar();getchar();break;
strcpy(p->finish,t.finish);
p->fly.hour=t.fly.hour;
p->fly.minute=t.fly.minute;
p->land.hour=t.land.hour;
p->land.minute=t.land.minute;
p->man=t.man;
p->amount=t.amount;
case 8: book(); break;
case 9: printf("按姓名(X)删除,还是按订票编号(d)删除?");getchar();scanf("%c",&ch);
if(ch=='x'||ch=='X') refund();else refun();printf("\n按回车键返回…");getchar();getchar();break;
printf("\n请输入终点站:");scanf("%s",t->finish);
5.1.2设计要求
①建立两个二进制文件:其中之一,用来存放航班信息;另一个用来存放客户订票信息。
②结构体采用动态链表形式,用动态链表存放数据,及实现数据的存储与读取。
③在两个动态链表间,用指针连接起来。
④设计一个漂亮的欢迎界面和友好的系统界面。
⑤要求系统能够根据系统菜单相应的功能执行相应的部分。
⑥要求能够实现录入、查询等相应的功能。
p->man=t.man;
p->amount=t.amount;
p->infor=t.infor;
end->next=p;
p->next=NULL;
end=p;
}
}
}
fclose(fp);
return head;
}
5保存信息函数
保存信息函数主要功能是将要保存的信息保存到一个二进制文件当中,其源程序如下:
3. 浏览航班信息功能。
4. 航班信息查询功能。根据航班号、终点站、飞行时间等条件查询。
5.订票功能。对订票信息应该存储在一个数组或链表中,每次进行订票时应该先统计该天该航班的已定人数,如果超过成员定额,则不能订票。
6. 统计每个航班某一天的已售(订)出座位数、剩余座位数。
7. 退票功能。输入用户名或订票编号,在订票信息链或数组中删除该条信息。
3.索引关键字
关键词:民航售票管理,功能框图,动态链表,文件保存
4.目录
1.题目要求---------------------------------4
2.设计思想---------------------------------5
3.系统完成功能及框图-----------------------6
case 5: add();break;
case 6: t=modify(); if(!t) printf("没有该航班!!!!"); printf("\n按回车键返回…"); getchar();getchar(); break;
case 7: t=del(); if(!t) printf("没有该航班!!!!");printf("\n按回车键返回…");getchar();getchar();break;
return head;
else if(!feof(fp))
if(fread(&t,sizeof(struct news),1,fp)==1)
{
p=(Read *)malloc(sizeof(Read));//连入第一个节点
p->number=t.number;
strcpy(p->start,t.start);
p=p->next;
}
}
fclose(fp);
printf("保存文件成功,按任意键返回…");
getchar();getchar();
}
航班信息的保存
6.添加航班信息的函数
添加航班信息函数的主要功能是实现航班信息的录入,是客户添加信息的主要途径。将信息添加后,可通过保存函数将信息保存到文件当中,其源程序代码如下:
void save(char filename[])
{
Read*p;
In *q;
struct news t;
if((fp=fopen(filename,"wb"))==NULL)
{
printf("不能打开%s文件!!!",filename);
exit(1);
}
else
{
p=head;
while(p!=NULL)
void add()
{
Read *t,*p=head;
t=(Read *)malloc(sizeof(Read));
printf("\n请输入航班号:");getchar();scanf("%d",&(t->number));
printf("\n请输入起始站:");scanf("%s",t->start);
相关文档
最新文档