票务员管理程序(定稿)
票务管理控制程序
文件编号版本/修改状态
1目的
规范票务工作,为公司提供规范、美观、清晰的门票、单据,保证日常经营及重大活动期间所需用门票、单据及经营所需用各类票据。2适用范围
本程序适用于公司的票务岗位。3工作职责
3.1贯彻执行公司政策,遵守公司财务制度,刻苦学习,努力提高自身的业务水平。
3.2严禁非工作人员进入票库,搞好规定区域内的岗位卫生工作。3.3严守公司机密,未经许可不向他人提供任何数据。3.4经相关部门审批后印制门票、收费票据或其他票据。(可根据要求自印或联系印刷厂印制)
3.5根据单位需求购买手工填开发票以及定额发票。3.6负责领用、保管门票、发票以及其他票据。3.7负责每日登记票务管理明细账。3.8负责发票的缴销工作。
3.9负责每月盘点各类票据库存量并填制相关盘点表。4票务工作流程4.1印制门票、票据
4.1.1印制门票:印制门票前,需由美工人员提供门票票样,经公司领导审核同意后填写发票自印审批表、发票自印申请书,加票务管理控制程序
文件编号版本/修改状态
盖本公司公章后,经地税局征管处审批同意后,凭地税局批文,通知印制单位印制门票。
4.1.2印制票据:印制收费票据或其他票据,其格式和数量需经本部门经理审核同意并报批后,方可由印刷厂印刷。
4.1.3购买发票:购买发票时,需由票务员和收银主管一起凭本单位发票领购簿、上次申购并已使用过的发票存根,由主管地税局或国税局审核并签署意见后,方可到地税局发票所或国税局发票所购买发票。购买发票要及时,以保证各业务部门使用。4.2门票入库流程
4.2.1票务组持样票及审批数量验收并登记印制门票的类别、数量、码段,填写《票据入库单》
4.2.2验收时,须票务组、收入审核会计、供应商同时在场签字,并各取一联作为留底查询、记账及付款凭据。4.3门票及票据制作
4.3.1门票打码:门票印回后,需用专用设备,给每张预制票制作条形码,所制作条码必须清晰、美观。
4.3.2其他票据制作:根据公司规定,需给门票或其他票据加盖日期章、收费专用章或其他标识。4.4门票及其他票据的保管和领用:
4.4.1门票、发票或其他票据印回或购回后,需由票务管理员按照票据入库单的项目填写票据入库单;领用时,由票务管理员填写票务申领单,由领用人和票务管理员双方签字确认;票据交回票务管理控制程序
文件编号版本/修改状态
时,由票务管理员验收后,填写票据交回验收单。每日根据当天所发生的业务登记票务管理明细账;每月末盘点一次,需部门第一负责人在场,并在盘点表上签字确认。
4.4.2门票、有价票据的领用和使用:每天上班后,由收银领班到票库领取一定数量的门票。领用时,应由票务管理员对类别、本数、起止号码等内容进行详细登记,领用人在清点核实后签字领出。财务部以外的部门领用时,应填写票务申领表,经相关部门领导签字后,注明实领数量并签字确认,由领用人当面清点后领出。
4.4.3发票的领用:各相关部门因经营需要而领用发票,由相关部门经理签字后,方可由领用人清点核实后签字领出。4.5发票的使用
4.5.1严禁伪造、买卖、重用、转借、转让、涂改、撕毁和为他人代开发票。
4.5.2发票使用前,应先清点检查,如有缺联、少份、缺号、错号等问题,应整本退回,否则责任自负。
4.5.3填开发票时,必须按发票顺序依次使用,采用复写纸全份一次性复写,保证全联内容一致,并写明对方具体单位名称,开票时间、明细等内容。正确书写大、小写金额和开票人全称,小写金额前加“¥”,大写未填部分封顶,填写后,必须在发票联加盖“发票专用章”,否则视为无效。作废的发票,应整份保存,并注明“作废”字样。票务管理控制程序
文件编号版本/修改状态
4.5.4发票领用人对所领用的发票负责,若发生遗失和被盗,应及时报告财务经理,并查明原因,登报声明作废,报主管税务机关处理。如发生伪造、买卖、重用、转借、转让、涂改、撕毁和为他人代开,分拆填写等行为的,将依《中华人民共和国发票管理办法》的规定,处以一万元以下的罚款。
4.5.5对使用完的发票,使用人应在票务员处及时办理缴销手续。4.6检查与奖罚
4.6.1领班、票库进行经常性检查,并在领班检查、交接记录本上登记,每周将检查结果汇总上报主管4.6.2主管每周到各点进行两次集中检查。
4.6.3主要检查内容:劳动纪律、岗位卫生、员工服务态度、安全设施完好状况。
4.6.4对检查中发现的违纪员工按《公司员工奖罚制度》予以处罚。票务管理控制程序
文件编号版本/修改状态
4.7流程图
设计人员地税局是印制单位收银主管审核并签字确认是票务员留取一联存档提供票样审批印制门票是是是公司领导是票务员填写发票自印审批表、发票自印申请书票务员是票务员填写《票据入库单》票务员根据《票据入库单》登记明细账审核审核数量票务管理控制程序
文件编号版本/修改状态
5相关文件与记录5.1《票务申领表》5.2《票据交回验收单》5.3《票据入库单》5.4《发票领用存明细表》
扩展阅读:机票票务管理程序的设计与实现
武汉理工大学《数据结构》课程设计说明书
机票票务管理程序的设计与实现
1绪论
1.1选题目的和意义
随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预订查询系统在各机票预定网点中的作用也越显重要。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预订工作。因此,开发机票票务管理系统势在必行。
1.2系统模拟与简化
为了易于实现但不失仿真性,对问题做如下简化:
1.在初始机票的所有城市共有:武汉、北京、西安、广州、青岛、济南六个城市。因此所有的机票组合共有30种。
2.机票只有单程票,不考虑联程票和往返票。
3.假设航班无限,即不存在票售完的情况。票的数量不作限制。4.订票能订未来任意时间的票。不对时间进行检查。
1.3可行性分析
1.3.1前提要求
安全与保密要求:管理员享有对机票信息库和定票信息库的管理与修改,旅客只享有对订票信息库的部分修改(订票与退票)以及机票信息库的查询。
1.3.2目标
1武汉理工大学《数据结构》课程设计说明书
系统实现后,大大提高机票预定服务效率。降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
1.4系统的主要功能:
(1)票务管理人员对机票基本信息进行输入,删除,修改和查询(2)旅客对票务信息进行查询
(3)订票处理,输入机票和旅客的信息(4)退票处理
2需求分析
2.1性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的性能需求:
2.1.1系统处理的准确性
系统处理的准确性是系统的基本性能。由于机票预订系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,在系统开发过程中,必须采用一定的方法保证系统的准确性。
2.1.2系统的开放性和系统的可扩充性
机票预订系统在开发过程中,应该充分考虑以后的可扩充性。用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
2.1.3系统的易用性
机票预订系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟
悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要
2武汉理工大学《数据结构》课程设计说明书
求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程。
2.2数据需求
2.2.1数据录入处理的准确性与及时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性。
2.2.2数据的一致性与完整性
由于系统的数据是共享的,机票是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。因此必须在数据录入处控制数据的去向,并且要求对数据完整性进行严格的约束。
2.2.3数据的共享与独立性
整个机票预定系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。
2.3数据字典
名字:旅客信息描述:旅客的个人信息属性值:姓名和身份证号名字:原始机票信息描述:机票本身的信息属性值:航班号、起飞地点、飞往地点、所属公司、价格3
武汉理工大学《数据结构》课程设计说明书
名字:订出的机票信息描述:旅客的机票信息,根据旅客的旅行时间和目的地确定属性值:旅客信息、航班号、起飞地点、飞往地点、时间、所属公司、价格3系统总体设计
3.1数据结构设计
对旅客个人信息的数据结构设计姓名
对机票原始信息的数据结构设计
身份证号出发城市目的城市航班号所属航空公司票价
对已订出机票的数据结构设计
游客信息出发城市目的城市姓名身份证号
航班号时间日期空公司所属航票价4
武汉理工大学《数据结构》课程设计说明书
3.2物理结构设计
3.2.1旅客信息
1.旅客姓名PName
2.身份证号码PID
3.2.2原始机票信息
出发城市目的城市
航班号所属航空公司票价
3.2.3已订出机票信息
1旅客信息
2出发城市
3目的城市4航班号5所属航空公司
6出发日期3.2.4两个链表的定义
typedefstruct_tagNode1现管理员删除增加等功能
{TDepartCityTArriveCityTFlightNoTCompanyTPrice
PInfoTDepartCity
TArriveCityTFlightNoTCompanyTDate
//定义一个链表,用来存储所有的票务信息,以便来实5
武汉理工大学《数据结构》课程设计说明书
struct_tagNode1*Next;TInfoAllTicketsInfo;
}AllTickets;
typedefAllTickets*PtrAllTickets;
typedefstruct_tagNode2//定义一个链表,用来存储已订出的票{
struct_tagNode2*Next;BookedTInfoBookedTicketInfo;
}BookedTickets;
typedefBookedTickets*PBookedTickets;
3.3主要函数功能设计
3.3.1数据初始化函数
从文件TicketInfo.txt中将所有原始机票的信息读取到一个链表中PtrAllTicketsInitial()//将所有的票务信息读取到内存中{
FILE*fp;//从文件中读取机票的信息charch;
PtrAllTicketsphead,p1,p2,p;
phead=(PtrAllTickets)malloc(sizeof(AllTickets));p1=phead;
if((fp=fopen("d:\\\\TicketInfo.txt","rt"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();
6武汉理工大学《数据结构》课程设计说明书
exit(1);}else{
ch="a";
while(ch!=EOF){
fscanf(fp,"%s%s%s%s%s",p1->AllTicketsInfo.TDepartCity,p1->AllTicketsInfo.TArriveCity,p1->AllTicketsInfo.TFlightNo,p1->AllTicketsInfo.TCompany,p1->AllTicketsInfo.TPrice);
p2=(PtrAllTickets)malloc(sizeof(AllTickets));p1->Next=p2;p2->Next=NULL;p1=p2;ch=fgetc(fp);}}fclose(fp);returnphead;exit(0);}
3.3.2订票功能的实现
voidGuestBookTickets()//Guest预定机票{
FILE*fp;charch;inttmp_n;
7武汉理工大学《数据结构》课程设计说明书
intflag_state=0;PBookedTicketspb1;PtrAllTicketsp=phead;
pb1=(PBookedTickets)malloc(sizeof(BookedTickets));pb1->Next=NULL;
printf("\\t\\t\\t\\t欢迎使用订票系统!\\n\\n\\n");
printf("请输入出发城市:");//选择出发城市!scanf("%s",pb1->BookedTicketInfo.TDepartCity);printf("请输入飞往城市:");
scanf("%s",pb1->BookedTicketInfo.TArriveCity);
while(p!=NULL)//航班号,飞行公司,价格等均确定。{
if(strcmp(p->AllTicketsInfo.TDepartCity,pb1->BookedTicketInfo.TDepartCity)==0&&strcmp(p->AllTicketsInfo.TArriveCity,pb1->BookedTicketInfo.TArriveCity)==0)
{strcpy(pb1->BookedTicketInfo.TPrice,p->AllTicketsInfo.TPrice);strcpy(pb1->BookedTicketInfo.TFlightNo,p->AllTicketsInfo.TFlightNo);strcpy(pb1->BookedTicketInfo.TCompany,p->AllTicketsInfo.TCompany);flag_state=1;}
p=p->Next;}
if(flag_state){
printf("请输入要预定的票的日期:(格式为xxxxxxxx,如201*0808)\\n");//输入飞行日期
scanf("%s",pb1->BookedTicketInfo.TDate);
8武汉理工大学《数据结构》课程设计说明书
printf("请输入您的姓名:\\n");//输入姓名scanf("%s",pb1->BookedTicketInfo.PassengerInfo.PName);
printf("请输入您的身份证号码:\\n");//输入游客身份证号scanf("%s",pb1->BookedTicketInfo.PassengerInfo.PID);//游客订票信息确认
printf("预定成功!以下是您的订票信息确认单:\\n\\n");
printf("\\t\\t\\t姓名:%s\\n",pb1->BookedTicketInfo.PassengerInfo.PName);printf("\\t\\t\\t身份证号码:%s\\n",pb1->BookedTicketInfo.PassengerInfo.PID);printf("\\t\\t\\t出发城市:%s\\n",pb1->BookedTicketInfo.TDepartCity);printf("\\t\\t\\t飞往城市:%s\\n",pb1->BookedTicketInfo.TArriveCity);printf("\\t\\t\\t航班号:%s\\n",pb1->BookedTicketInfo.TFlightNo);printf("\\t\\t\\t所属航空公司:%s\\n",pb1->BookedTicketInfo.TCompany);printf("\\t\\t\\t日期:%s\\n",pb1->BookedTicketInfo.TDate);printf("\\t\\t\\t价格:%s\\n",pb1->BookedTicketInfo.TPrice);//将订票的信息存到一个文件中//
if((fp=fopen("d:\\\\BookedTicketsInfo.txt","rt"))==NULL)//若文件不存在,则新建,若存在,则采用追加模式写入
{if((fp=fopen("d:\\\\BookedTicketsInfo.txt","wt"))==NULL){
printf("文件创立失败!\\n无法写入数据!");}else{
fprintf(fp,"%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t%s\\n",pb1->BookedTicketInfo.PassengerInfo.PName,pb1->BookedTicketInfo.PassengerInfo.PID,pb1->BookedTicketInfo.TDepartCity,pb1->BookedTicketInfo.TArriveCity,pb1->BookedTicketInfo.TFlightNo,pb1->BookedTicketInfo.TDate,pb1-9
武汉理工大学《数据结构》课程设计说明书
>BookedTicketInfo.TCompany,pb1->BookedTicketInfo.TPrice);
}}else{
fp=fopen("d:\\\\BookedTicketsInfo.txt","at");
fprintf(fp,"%s%s%s%s%s%s%s\\t%s\\n",pb1->BookedTicketInfo.PassengerInfo.PName,pb1->BookedTicketInfo.PassengerInfo.PID,pb1->BookedTicketInfo.TDepartCity,pb1->BookedTicketInfo.TArriveCity,pb1->BookedTicketInfo.TFlightNo,pb1->BookedTicketInfo.TDate,pb1->BookedTicketInfo.TCompany,pb1->BookedTicketInfo.TPrice);
}fclose(fp);}else{
printf("城市输入有误!\\n订票失败!\\n");}}
3.3.3退票功能的实现
voidGuestReturnTickets()//退票注意几种特殊情况的处理1,删除的为第一张票
{intflag_state=0;charPName[15];
charPID[20];charTFlightNo[10];
10武汉理工大学《数据结构》课程设计说明书
charTDate[10];//时间格式为:xxxxxxxx如201*80808
FILE*fp;//从文件中读取机票的信息charch;
PBookedTicketshead,p1,p2,p,p_front,ptrtmp;//先将所有的订票的信息存取到内存中
head=(PBookedTickets)malloc(sizeof(BookedTickets));p1=head;p_front=head;p=head;
if((fp=fopen("d:\\\\BookedTicketsInfo.txt","rt"))==NULL){
printf("没有找到订票数据!\\n");getch();exit(1);}else{
ch="a";
while(ch!=EOF){
fscanf(fp,"%s%s%s%s%s%s%s%s",p1->BookedTicketInfo.PassengerInfo.PName,p1->BookedTicketInfo.PassengerInfo.PID,p1->BookedTicketInfo.TDepartCity,p1->BookedTicketInfo.TArriveCity,p1->BookedTicketInfo.TFlightNo,p1->BookedTicketInfo.TDate,p1->BookedTicketInfo.TCompany,p1->BookedTicketInfo.TPrice);
p2=(PBookedTickets)malloc(sizeof(BookedTickets));p1->Next=p2;p2->Next=NULL;
11武汉理工大学《数据结构》课程设计说明书
p1=p2;ch=fgetc(fp);}}
fclose(fp);//输入票务有关信息printf("请按下列提示输入票务信息:\\n");
printf("\\t\\t\\t请输入票的航班号:\\n");scanf("%s",TFlightNo);printf("\\t\\t\\t姓名:\\n");scanf("%s",PName);printf("\\t\\t\\t身份证号:\\n");scanf("%s",PID);while(p!=NULL)//查找符合条件的票{
if(strcmp(p->BookedTicketInfo.PassengerInfo.PName,PName)==0&&strcmp(p->BookedTicketInfo.TFlightNo,TFlightNo)==0&&strcmp(p->BookedTicketInfo.PassengerInfo.PID,PID)==0)
{ptrtmp=p_front;flag_state=1;}p_front=p;p=p->Next;}
if(flag_state){
if(ptrtmp==head)head=head->Next;elseptrtmp->Next=ptrtmp->Next->Next;p1=head;
if((fp=fopen("d:\\\\BookedTicketsInfo.txt","wt"))==NULL){
12武汉理工大学《数据结构》课程设计说明书
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();exit(1);}else{
while(p1!=NULL){
fprintf(fp,"%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t%s\\t%s\\n",p1->BookedTicketInfo.PassengerInfo.PName,p1->BookedTicketInfo.PassengerInfo.PID,p1->BookedTicketInfo.TDepartCity,p1->BookedTicketInfo.TArriveCity,p1->BookedTicketInfo.TFlightNo,p1->BookedTicketInfo.TDate,p1->BookedTicketInfo.TCompany,p1->BookedTicketInfo.TPrice);
p1=p1->Next;}}fclose(fp);exit(0);}
elseprintf("退票失败!\\n");exit(1);}
3.3.4按航班号查询功能的实现
PtrAllTicketsGuestAdminSearchTicketsFlightNo(){
intflag_state=0;
PtrAllTicketsp=phead,ptrtmp,p_front;
13武汉理工大学《数据结构》课程设计说明书
charTFlightNo[10];printf("请输入航班号:");scanf("%s",TFlightNo);
while(p!=NULL)//航班号,飞行公司,价格等均确定。{
if(strcmp(p->AllTicketsInfo.TFlightNo,TFlightNo)==0){
printf("您查询的机票详细信息如下:\\n");
printf("\\t\\t\\t***********************************\\n");printf("\\t\\t\\t出发城市:%s\\n",p->AllTicketsInfo.TDepartCity);printf("\\t\\t\\t飞往城市:%s\\n",p->AllTicketsInfo.TArriveCity);printf("\\t\\t\\t航班号:%s\\n",p->AllTicketsInfo.TFlightNo);printf("\\t\\t\\t所属航空公司:%s\\n",p->AllTicketsInfo.TCompany);printf("\\t\\t\\t价格:%s\\n",p->AllTicketsInfo.TPrice);printf("\\t\\t\\t***********************************\\n");flag_state=1;ptrtmp=p_front;}p_front=p;p=p->Next;}
if(!flag_state){
printf("航班号输入有误!没有查询到航班号为%s的票务信息!\\n",TFlightNo);}
returnptrtmp;}
14武汉理工大学《数据结构》课程设计说明书
3.3.5按地点查询功能的实现
PtrAllTicketsGuestAdminSearchTicketsPlace()//注意删除头结点的特殊性{
intflag_state=0;
PtrAllTicketsp=phead,ptrtmp,p_front=phead;charTDepartCity[10];
charTArriveCity[10];
printf("请输入出发城市:");scanf("%s",TDepartCity);
printf("请输入飞往城市:");scanf("%s",TArriveCity);while(p!=NULL){
if(strcmp(p->AllTicketsInfo.TDepartCity,TDepartCity)==0&&strcmp(p->AllTicketsInfo.TArriveCity,TArriveCity)==0)
{printf("您查询的机票详细信息如下:\\n");
printf("\\t\\t\\t***********************************\\n");printf("\\t\\t\\t出发城市:%s\\n",p->AllTicketsInfo.TDepartCity);printf("\\t\\t\\t飞往城市:%s\\n",p->AllTicketsInfo.TArriveCity);printf("\\t\\t\\t航班号:%s\\n",p->AllTicketsInfo.TFlightNo);printf("\\t\\t\\t所属航空公司:%s\\n",p->AllTicketsInfo.TCompany);printf("\\t\\t\\t价格:%s\\n",p->AllTicketsInfo.TPrice);printf("\\t\\t\\t***********************************\\n");flag_state=1;ptrtmp=p_front;}p_front=p;
15武汉理工大学《数据结构》课程设计说明书
p=p->Next;}
if(!flag_state){
printf("城市输入有误!没有查询到出发城市为%s,目的城市为%s的票务信息!\\n",TDepartCity,TArriveCity);
}returnptrtmp;}
3.3.6管理员对票务信息进行删除的函数
voidAdminDeleteTInfo()//Admin删除票务信息,注意删除头结点的特殊性{
PtrAllTicketsp,ptrtmp=phead;
FILE*fp;//将修改后的机票信息存储inttmp_n;
charjudege;//确认是否删除,值为y或nsystem("cls");
printf("请先选择要删除的票\\n");
printf("\\t\\t\\t\\t请选择查询方式\\n");printf("\\t\\t\\t\\t1.按地点查找\\n");printf("\\t\\t\\t\\t2.按航班号查找\\n");printf("\\t\\t\\t\\t0.退出\\n");
printf("\\t\\t\\t\\t按数字0-2选择:");do{
scanf("%d",&tmp_n);if((tmp_n2))
16武汉理工大学《数据结构》课程设计说明书
{}printf("\\t\\t\\t\\t输入有误!请输入数字0-2!\\n");printf("\\t\\t\\t\\t按数字0-2选择:");
}while((tmp_n2));
switch(tmp_n){
case1:{
p=GuestAdminSearchTicketsPlace();if(p==phead)phead=p->Next;else{
p->Next=p->Next->Next;}
if((fp=fopen("d:\\\\TicketInfo.txt","wt"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();exit(1);}else{
ptrtmp=phead;while(ptrtmp!=NULL){
17武汉理工大学《数据结构》课程设计说明书
fprintf(fp,"%s\\t\\t%s\\t\\t%s\\t%s\\t%s\\n",ptrtmp->AllTicketsInfo.TDepartCity,ptrtmp->AllTicketsInfo.TArriveCity,ptrtmp->AllTicketsInfo.TFlightNo,ptrtmp->AllTicketsInfo.TCompany,ptrtmp->AllTicketsInfo.TPrice);
ptrtmp=ptrtmp->Next;}}fclose(fp);
break;
}case2:{
p=GuestAdminSearchTicketsFlightNo();p->Next=p->Next->Next;
if((fp=fopen("d:\\\\TicketInfo.txt","wt"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();exit(1);}else{
while(ptrtmp!=NULL){
fprintf(fp,"%s\\t\\t%s\\t\\t%s\\t%s\\t%s\\n",ptrtmp->AllTicketsInfo.TDepartCity,ptrtmp->AllTicketsInfo.TArriveCity,ptrtmp->AllTicketsInfo.TFlightNo,ptrtmp->AllTicketsInfo.TCompany,ptrtmp->AllTicketsInfo.TPrice);
ptrtmp=ptrtmp->Next;
18武汉理工大学《数据结构》课程设计说明书
}}break;fclose(fp);}
case0:{
exit(0);break;
}}exit(0);}
3.3.7管理员进行增加票务信息函数的实现
voidAdminInputTInfo()//Admin输入票务信息,添加到文件尾{
FILE*fp;PtrAllTicketsprear;
prear=(PtrAllTickets)malloc(sizeof(AllTickets));prear->Next=NULL;
printf("请输入需要增加的票务的信息:\\n\\n\\n");
printf("出发城市:");scanf("%s",prear->AllTicketsInfo.TDepartCity);printf("飞往城市:");scanf("%s",prear->AllTicketsInfo.TArriveCity);printf("航班号:");scanf("%s",prear->AllTicketsInfo.TFlightNo);printf("所属航空公司:");scanf("%s",prear->AllTicketsInfo.TCompany);printf("票价:");scanf("%s",prear->AllTicketsInfo.TPrice);
19武汉理工大学《数据结构》课程设计说明书
if((fp=fopen("d:\\\\TicketInfo.txt","at"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();exit(1);}else{
fprintf(fp,"%s\\t\\t%s\\t\\t%s\\t%s\\t%s\\n",prear->AllTicketsInfo.TDepartCity,prear->AllTicketsInfo.TArriveCity,prear->AllTicketsInfo.TFlightNo,prear->AllTicketsInfo.TCompany,prear->AllTicketsInfo.TPrice);
}fclose(fp);exit(0);}
3.3.8管理员对票务信息进行修改的函数
voidAdminCorrectTInfo()//Admin修改票务信息{
PtrAllTicketsp,ptrtmp=phead;
FILE*fp;//将修改后的机票信息存储inttmp_n;system("cls");
printf("请先选择要修改的票\\n");
printf("\\t\\t\\t\\t请选择查询方式\\n");printf("\\t\\t\\t\\t1.按地点查找\\n");
20武汉理工大学《数据结构》课程设计说明书
printf("\\t\\t\\t\\t2.按航班号查找\\n");printf("\\t\\t\\t\\t0.退出\\n");
printf("\\t\\t\\t\\t按数字0-2选择:");do{
scanf("%d",&tmp_n);if((tmp_n2)){}
printf("\\t\\t\\t\\t输入有误!请输入数字0-2!\\n");printf("\\t\\t\\t\\t按数字0-2选择:");
}while((tmp_n2));switch(tmp_n){
case1:{
p=GuestAdminSearchTicketsPlace();printf("请重新输入该票务的信息!\\n");
printf("出发城市:");scanf("%s",p->Next->AllTicketsInfo.TDepartCity);printf("飞往城市:");scanf("%s",p->Next->AllTicketsInfo.TArriveCity);printf("航班号:");scanf("%s",p->Next->AllTicketsInfo.TFlightNo);
printf("所属航空公司:");scanf("%s",p->Next->AllTicketsInfo.TCompany);
printf("票价:");scanf("%s",p->Next->AllTicketsInfo.TPrice);
if((fp=fopen("d:\\\\TicketInfo.txt","wt"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();exit(1);
21武汉理工大学《数据结构》课程设计说明书
}else{
while(ptrtmp!=NULL){
fprintf(fp,"%s\\t\\t%s\\t\\t%s\\t%s\\t%s\\n",ptrtmp->AllTicketsInfo.TDepartCity,ptrtmp->AllTicketsInfo.TArriveCity,ptrtmp->AllTicketsInfo.TFlightNo,ptrtmp->AllTicketsInfo.TCompany,ptrtmp->AllTicketsInfo.TPrice);
ptrtmp=ptrtmp->Next;}}fclose(fp);
break;
};case2:{
p=GuestAdminSearchTicketsFlightNo();
printf("请重新输入该票务的信息!\\n");
printf("出发城市:");scanf("%s",p->Next->AllTicketsInfo.TDepartCity);printf("飞往城市:");scanf("%s",p->Next->AllTicketsInfo.TArriveCity);printf("航班号:");scanf("%s",p->Next->AllTicketsInfo.TFlightNo);
printf("所属航空公司:");scanf("%s",p->Next->AllTicketsInfo.TCompany);
printf("票价:");scanf("%s",p->Next->AllTicketsInfo.TPrice);
if((fp=fopen("d:\\\\TicketInfo.txt","wt"))==NULL){
printf("Erroropenfile!\\nPressanykeytoexit!\\n");getch();
22武汉理工大学《数据结构》课程设计说明书
exit(1);}else{
while(ptrtmp!=NULL){
fprintf(fp,"%s\\t\\t%s\\t\\t%s\\t%s\\t%s\\n",ptrtmp->AllTicketsInfo.TDepartCity,ptrtmp->AllTicketsInfo.TArriveCity,ptrtmp->AllTicketsInfo.TFlightNo,ptrtmp->AllTicketsInfo.TCompany,ptrtmp->AllTicketsInfo.TPrice);
ptrtmp=ptrtmp->Next;}}break;fclose(fp);};}}exit(0);
case0:{exit(0);break;};
3.4数据结构与程序之间的关系
程序在对管理员对票务信息进行操作时需对数据结构进行查询和修改,此过程中都需要对相应数据进行联合查询、修改。
3.5出错输出信息
程序在运行时主要会出现由于输入信息,或无法满足要求时产生的错误,出错信息必
23武汉理工大学《数据结构》课程设计说明书
须给出相应的出错原因。
例:“输入有误!请输入数字0-2!”“还没有任何预定票务的信息!”
“城市输入有误!没有查询到出发城市为xx,目的城市为xx的票务信息!”等。4系统的实现
4系统的实现
4.1程序主界面
4.2选择以Administrator登录
需要输入密码方可获得权限,密码为123456,共有3次输入机会
24武汉理工大学《数据结构》课程设计说明书
4.3管理员登录成功后
4.4选择票务信息总览
显示所有票务信息
25武汉理工大学《数据结构》课程设计说明书
4.5选择查询航班信息
4.6选择查询已定出的票务信息
(此时没有任何预定信息,于是程序给出相应提示)若已经有人订票,则如下图:
26武汉理工大学《数据结构》课程设计说明书
4.7以Guest登录
4.8选择预定机票
根据相应提示输入数据即可
BookedTicketInfo.txt中会自动将该信息存储,如下图
27武汉理工大学《数据结构》课程设计说明书
结语
该程序的开发是作为数据结构课程设计的内容,经过此次实践,我增长了不少知识,获益匪浅。该程序的开发严格按照软件工程的设计思想,从需求分析到总体设计,都是精细而完整的。程序具有高模块化的特点,有较强的可读性和可维护性。
由于本系统从开始的计划到后来的具体实施的这段时间,无论在时间和细致程度来说都是有限的,所以程序真正投入使用还是会有很多不妥善的地方,难免会存在一些的不足的问题。希望老师能给予批评和指导。希望能在今后的不断的学习中和努力中,把程序做得更好。
参考文献
[1]王家华,《软件工程》(第一版),沈阳:东北大学出版社,201*[2]田鲁怀,《数据结构》,北京:电子工业出版社,201*[3]谭浩强,《C语言程序设计》,北京:清华大学出版社,201*[4]李春堡,《数据结构教程》,北京:清华大学出版社,201*
28友情提示:本文中关于《票务员管理程序(定稿)》给出的范例仅供您参考拓展思维使用,票务员管理程序(定稿):该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。