《《面向过程程序设计实践》课题课件.docx》由会员分享,可在线阅读,更多相关《《面向过程程序设计实践》课题课件.docx(29页珍藏版)》请在第一文库网上搜索。
1、任务18课题名称某航空公司飞机购票模拟系统(服务器端)课题内容文件信息:航线信息:航线编码、起点、终点、公里数、飞行时间。航班信息:航班编号、航线编码、起飞时间、可售机票总数、票价、当前状态(准备、已出票、售完、已结束)。售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s)o以顺序存储结构设计程序能实现以下航空公司服务器端功能:(1)航线的维护(创建、修改、删除(不能删除已出票、售完航班)(2)航班的维护(创建、修改、删除(不能删除已出票、售完航班)。(3)显示航班列表。(4)显示指定航班的售票情况(明细和统计值)。(5)显示各航班的销售情况。inthb1d;intuse
2、rid;charUserNameNUMBER;charbuytimeNUMBER;任务19课题名称某航空公司飞机购票模拟系统(客户端)课题内容航班文件信息:航线信息:航线编码、起点、终点、公里数、飞行时间。航班信息:航班编号、航线编码、起飞时间、可售机票总数、票价、当前状态(准备、已出票、售完、已结束)。售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s)o以链式存储结构设计程序能实现以下顾客端功能:(1)搜索指定航线、指定时间段的航班(2)购票(3)退票(4)输入顾客ID,显示顾客的购票信息主菜单/*模块名称:Menu,c功能描述:实现菜单功能*/#inc1udeStd
3、iO.h/*输入输出函数的头文件*/Sinc1ude,shoupiao.cSinc1udehangban.cSinc1udehangxian.cvoidmenu();*菜单*/航班voidinit_hb(hbnum*hb);初始化列表voidcreate_hb(hbnum*hb);从文件中加载数据voidappendhb(hbnum*hb,hbinfox);/*添加数据*/voiddisp1ayhb(hbnumhb);/*输出航班信息表*/voiddisp1ay_xs(hbnumhb);/*输出航班销售信息表*/hbinfosearch_hb(hbnumhb,intid);根据id查找航班的售
4、票情况hbnumupdate_hb(hbnumhb,hbinfox);根据id修改航班信息voidde1e_hb(hbnum*hb,intid);删除航班信息voidInsertSort_hb(hbnum*r);排序voidsave_hb(hbnum*hb);将数据保存到文件中航线voidinit_hx(hxnum*hx);初始化列表voidcreate_hx(hxnum*hx);从文件中加载数据voidappend_hx(hxnum*hx,hxinfox);/*添加数据*/voiddisp1ayhx(hxnumhx);/*输出航班信息表*/hxinfosearch_hx(hxnumhx,in
5、tid);根据id查找航班的售票情况hxnumupdate_hx(hxnumhb,hxinfox);根据id修改航线信息voidde1e_hx(hxnum*hx,intid);删除航班信息voidInsertSorthx(hxnum*r);排序voidsave_hx(hxnum*hx);将数据保存到文件中售票voidinit_sp(spnum*sp);初始化列表voidcreate_sp(spnum*sp);从文件中加载数据voidappend_sp(spnum*sp,spinfox);/*添加数据*/voiddisp1ay_sp(spnumsp);/*输出航班信息表*/spinfosearc
6、h_sp(spnumsp,intid);根据id查找航班的售票情况voidsearchmx(spnumsp,intid);intsearchtj(spnumsp,intid);voidde1e_sp(spnum*sp,intid);删除航班信息voidInsertSort_sp(spnum*r);排序voidsave_sp(spnum*sp);将数据保存到文件中/*主函数*/main()hbnumhb;hxnumhx;spnumsp;init_hb(&hb);初始化航班表Create_hb(&hb);创建航班表init_hx(&hx);初始航线表create_hx(&hx);创建航线表init
7、_sp(&sp);初始化售票表Create_sp(&sp);创建售票表InSertSort_hb(&hb);对航班表排序InSertSOrtjIX(&hx);对航线表排序InsertSort_sp(&sp);对售票表排序menu();save_hb(&hb);save_hx(&hx);save_sp(&sp);*函数定义函数名称:menu功能描述:实现主菜单功能的循环选择。*/voidmenu()intj;hbnumhb;hxnumhx;spnumsp;hbinfohbup,hbsea,hbadd;hxinfohx_up,hx_sea,hx_add;spinfospsea,spadd;inti
8、d,tota1;printfnnnn$n);printf(,I*we1come*In);printfV管理员能查看和查询的航空信息二八n);printf(,n输入航班信息:nn);printf(,1添加新的航班n);printf2添加新的航线n);printf(,3修改航班信息n);Printf(4修改航线信息n);printf5根据航班编号删除航班n);printf6根据航班编号删除航班n);printf7显示指定航班的售票情况(明细)n);printf8显示指定航班的售票情况(统计值)n);printf9显示各航班的销售情况n);Printf(。返回菜单:);Printf(请选择按键:);
9、scanf(d,&j);if(j!=1fefej!=0&j!二2&j!二3&j!二4&j!二5&j!二6&j!二7&j!二8&j!=9)Printf(您输入的选项不存在,请重新输入:);InenU();e1seswitch(j)case1:printf(,Inputahxdentinformation:r);scanf(z,%d%d%s%d%s%szz,&hb_add.hb1d,fehbadd.hx1d,&hb_add.qifei,&hb_add.emptytota1,&hb_add.price,&hb_add.state);append_hb(&hb,hbadd);disp1ay_hb(hb
10、);menu();break;case2:printf(,zn1nputahxdentinformation:,z);scanf(z,%d%s%s%s%s,z,&hx_add.hx1d,&hx_add.qidian,&hx_add.zhongdian,&hx_add.gong1i,&hx_add.f1ytime);append_hx(&hx,hx_add);disp1ay_hx(hx);menu();break;case3:printf(z,Inputupdateid:n);scanf(z/%dz,&hb_up.hb1d);printf(,n1nputupdatehx,qifeishijian
11、,kongpiao,price,state:r);scanf(z,%d%s%d%s%s,z,&hb_up.hx1d,&hb_up.qifei,&hb_up.emptytota1,&hb_up.price,&hb_up.state);hb=update_hb(hb,hb_up);disp1ay_hb(hb);/*输出学生信息表*/menu();break;case4:Printf(n1nputupdateid:n);SCanf(%d,&hx_up.hx1d);printf(z,n1nputupdatehx,qifeishijian,kongpiao,price,state:,z);scanf(,
12、%d%s%sz,&hx_up.qidian,&hx_up.zhongdian,&hx_up.gong1i,&hx_up.f1ytime);hx=update_hx(hx,hx_up);disp1ayJ1X(hx);/*输出学生信息表*/menu();break;case5:printf(z,nInputayouwangde1etehangbanid:);scanf(z/%dz,&id);de1e_hb(&hb,id);menu();break;case6:printf(z,nInputayouwangde1etehangbanid:);scanf(z/%dz,&id);de1e_hb(&hb,
13、id);menu();break;case7:printf(z,n1nputahangbanid:r);scanf(,%dz,&id);searchmx(sp,id);menu();break;case8:printf(z,n1nputahangbanid:n);SCanf(d,&id);tota1=search_tj(sp,id);printf(,/%dn,z,tota1);menu();break;case9:disp1ay_xs(hb);menu();break;case0:menu();航班信息ttinc1udettinc1udettinc1ude#defineMAXhbsize100
14、ttdefineNUMBER50typedefstructinthb1d;inthx1d;charqifeiNUMBER;intemptytota1;charpriceNUMBER;charstateNUMBER;hbinfo;typedefstructhbinfoaMAXhbsize;inthbsize;hbnm;*置一个空表*/voidinit_hb(hbnum*hb)hb-hbsize=0;*创建航班表并从文件读取*/voidcreate_hb(hbnum*hb)FI1E*fp;inti=0;if(fp=fopen(,hangban.txt,z,r)=NU11)printf(zzcanh1dtopenfi1e!);exit(-1);whi1e(!feof(fp)fscanf(fp,%d%d%s%d%s%s”,hb-ai.hb1d,&hb-ai.hx1d,&hb-ai.qifei,fehb-ai.emptytota1,&hb-ai.price,hb-ai.