《《面向过程程序设计实践》课题课件.docx》由会员分享,可在线阅读,更多相关《《面向过程程序设计实践》课题课件.docx(31页珍藏版)》请在第壹文秘上搜索。
1、任务18课题名称某航空公司飞机购票模拟系统(服务器端)课题内容文件信息:航线信息:航线编码、起点、终点、公里数、飞行时间。航班信息:航班编号、航线编码、起飞时间、可售机票总数、票价、当前状态(准备、己出票、售完、已结束)。售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s)o以顺序存储结构设计程序能实现以下航空公司服务器端功能:(1)航线的维护(创建、修改、删除(不能删除己出票、售完航班)(2)航班的维护(创建、修改、删除(不能删除已出票、售完航班)。(3)显示航班列表。(4)显示指定航班的售票情况(明细和统计值)。(5)显示各航班的销售情况。inthbId;intuse
2、rid;charUserNameNUMBER;charbuytimeNUMBER;任务19课题名称某航空公司飞机购票模拟系统(客户端)课题内容航班文件信息:航线信息:航线编码、起点、终点、公里数、飞行时间。航班信息:航班编号、航线编码、起飞时间、可售机票总数、票价、当前状态(准备、已出票、售完、已结束)。售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s)o以链式存储结构设计程序能实现以下顾客端功能:(1)搜索指定航线、指定时间段的航班(2)购票(3)退票(4)输入顾客ID,显示顾客的购票信息主菜单/*模块名称:Menu.C功能描述:实现菜单功能*/#includestd
3、io.h7*输入输出函数的头文件*/includeshoupiao.c#includehangban.c#include,hangxian.cvoidmenu();*菜单*/航班voidinithb(hbnum*hb);/初始化列表voidcreatehb(hbnum*hb);从文件中加载数据voidappendhb(hbnum*hb,hbinfox);/*添加数据*/voiddisplayhb(hbnumhb);/*输出航班信息表*/voiddisplay_xs(hbnumhb);/*输出航班销倍信息表*/hbinfosearchhb(hbnumhb,intid);根据id查找航班的售票情况
4、hbnumupdatehb(hbnurnhb,hbinfox);根据id修改航班信息voiddeIehb(hbnum*hb,intid);删除航班信息voidInsertSorthb(hbnum*r);排序voidsave_hb(hbnum*hb);将数据保存到文件中航线voidinit_hx(hxnum*hx);初始化列表voidcreate_hx(hxnum*hx);从文件中加载数据voidappend_hx(hxnum*hx,hxinfox);/*添加数据*/voiddisplay_hx(hxnumhx);*输出航班信息表*/hxinfosearch_hx(hxnumhx,intid);
5、根据id查找航班的售票情况hxnumUpdatehx(hxnumhb,hxinfox);根据id修改航线信息voiddelehx(hxnum*hx,intid);删除航班信息voidInsertSorthx(hxnum*r);排序voidsavehx(hxnum*hx);将数据保存到文件中售票voidinitsp(spnum*sp);/初始化列表voidcreate_sp(spnum*sp);从文件中加载数据voidappendsp(spnum*sp,spinfox);/*添加数据*/voiddisplaysp(spnumsp);/*输出航班信息表*/spinfosearchsp(spnums
6、p,intid);根据id查找航班的售票情况voidsearchmx(spnumsp,intid);intsearchtj(spnumsp,intid);voiddele_sp(spnum*sp,intid);/删除航班信息voidInsertSort_sp(spnum*r);排序voidSaVe一SP(SPnUm*sp);将数据保存到文件中/*主函数*/main()hbnumhb;hxnumhx;spnumsp;init_hb(&hb);初始化航班表createhb(&hb);创建航班表init_hx(&hx);初始航线表Create_hx(&hx);创建航线表inits(fes);初始化售
7、票表CreateSP(&sp);创建售票表InsertSorthb(&hb);对航班表排序InsertSorthx(&hx);对航线表排序InsertSortsp(&sp);对售票表排序menu();savehb(&hb);savehx(&hx);savesp(&sp);/*函数定义函数名称:menu功能描述:实现主菜单功能的循环选择。*/voidmenu)intj;hbnumhb;hxnumhx;spnumsp;hbinfohb_up,hb_sea,hbadd;hxinfohx_up,hx_sea,hxadd;spinfosp_sea,sp_add;intid,total;rintf(nnn
8、n$n);printfCI*welcome*In);Printf(_-管理员能查看和查询的航空信息?n);printf(,11n输入航班信息:nn);Printf(1添加新的航班n);Printf(2添加新的航线n);Printf(3修改航班信息n);Printf(4修改航线信息n);printfr5根据航班编号删除航班n);printfr6根据航班编号删除航班n);Printf(7显示指定航班的售票情况(明细)、n);printf8显示指定航班的售票情况(统计值)n);printf9显示各航班的销售情况n);PrintfrO返回菜单:);Printf(请选择按键:);scanf(,&j);i
9、f(j!=l&j!=0&j!=2&J!=3&J!=4&j!=5&j!=6&j!=7&j!=8&j!=9)Printf(您输入的选项不存在,请重新输入:);menu0;elseswitch(j)Printf(nlnputahxdentinformation:n);SCanf(%d%d%s%d%s%s,hbadd.hbld,&hbadd.hxld,&hb_add.qifei,&hb_add.emptytotal,&hb_add.price,&hb_add.state);appendhb(&hb,hbadd);displayhb(hb);menu();break;case2:Printf(nlnpu
10、tahxdentinformation:n);SCanf(%d%s%s%s%s,&hx_add.hxld,&hxadd.qidian,&hx_add.zhongdian,&hx_add.gongli,&hx_add.fIytime);appendhx(&hx,hxadd);displayhx(hx);menu();break;case3:Printf(nlnputupdateid:n);SCanf(%d,&hbuphbld);printf(*nlnputupdatehx,qifeishijian,kongpiao,price,state:n);SCanf(%d%s%d%s%s,&hb_up.h
11、xld,&hb_up.qifei,&hb_up.emptytotal,&hb_up.price,&hb_up.state);hb=update_hb(hb,hbup);display_hb(hb);/*输出学生信息表*/menu();break;case4:Printf(nlnputupdateid:n);SCanf(i,&hxup.hxld);printf(*nlnputupdatehx,qifeishijian,kongpiao,price,state:n);SCanf(%d%s%s,&hx_up.qidian,&hx_up.zhongdian,&hxup.gongli,&hxup.fly
12、time);hx=update_hx(hx,hxup);displayhx(hx);/*输出学生信息表*/menu();break:case5:printf(wnInputayouwangdeletehangbanid:);SCanf(%d,&id);delehb(&hb,id);menu();break;case6:printf(,11Inputayouwangdeletehangbanid:);SCanf(,&id);delehb(&hb,id);menu();break;case7:Printf(nlnputahangbanid:n);SCanf(%d,&id);searchmx(sp,
13、id);menu();break;case8:printf(,11Inputahangbanid:n);SCanf(%d,&id);menu () ; break;total=searchtj(sp,id)printf(ff%dntotal);case9:display_xs(hb);menu();break;case0:menu();航班信息#include#includestdlib.h#include#defineMAXhbsize100#defineNUMBER50typedefstructinthbld:inthxld;charqifeiNUMBER;intemptytotal;ch
14、arpriceNUMBER;charstatNUMBER;hbinfo;typedefstructhbinfoaMAXhbsize;inthbsize;hbnum;/*置一个空表*/voidinithb(hbnum*hb)hbhbsize=0;/*创建航班表并从文件读取*/voidcreatehb(hbnum*hb)FILE*fp;inti=0;if(fp=fopen(hangban.txt,r)=NULL)printf(,zcanhldtopenfile!);exit(T);while(!feof(fp)fscanf(i%d%d%s%d%s%s,&hb-ai.hbld,&hb-ai.hxld,&hb-ai.qifeij&hb-ai.emplytotal,hb-ai.price,fehb-ai.state);i+十;hb-hbsize+;fclose(fp):/*追加航班信息*/voidappendhb(hbnum*h