1 / 18
文档名称:

《面向过程程序设计实践》课题资料.doc

格式:doc   大小:164KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《面向过程程序设计实践》课题资料.doc

上传人:花双韵芝 2022/12/3 文件大小:164 KB

下载得到文件列表

《面向过程程序设计实践》课题资料.doc

文档介绍

文档介绍:该【《面向过程程序设计实践》课题资料 】是由【花双韵芝】上传分享,文档一共【18】页,该文档可以免费在线阅读,需要了解更多关于【《面向过程程序设计实践》课题资料 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
任务18
课题名称
某航空企业飞机购票模拟系统(服务器端)
课题内容
文件信息:
航线信息:航线编码、起点、终点、公里数、遨游时间。
航班信息:航班编号、航线编码、跳跃时间、可售机票总数、票价、目前状态(准备、已出票、售完、已结束)。
售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s
以次序储蓄构造设计程序能实现以下航空企业服务器端功能:
(1)航线的保护(创立、改正、删除(不可以删除已出票、售完航班)
(2)航班的保护(创立、改正、删除(不可以删除已出票、售完航班)

)。
)
)。
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
3)显示航班列表。
4)显示指定航班的售票状况(明细和统计值)。
5)显示各航班的销售状况。
inthbId;
intuserId;
charuserName[NUMBER];
charbuytime[NUMBER];
任务19
课题名称
某航空企业飞机购票模拟系统(客户端)
课题内容
航班文件信息:
航线信息:航线编码、起点、终点、公里数、遨游时间。
航班信息:航班编号、航线编码、跳跃时间、可售机票总数、票价、目前状态(准备、已出票、售完、已结束)。
售票信息:航班编号、顾客ID、顾客姓名、购票时间(y-m-d-h-m-s)。
以链式储蓄构造设计程序能实现以下顾客端功能:
1)搜寻指定航线、指准时间段的航班
2)购票
3)退票
4)输入顾客ID,显示顾客的购票信息
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
主菜单
//
/*模块名称::实现菜单功能
*/
#include""/*
输入输出函数的头文件*/
#include""
#include""
#include""
voidmenu();/*
菜单*/
//航班
voidinit_hb(hbnum*hb);//
初始化列表
voidcreate_hb(hbnum*hb);//
从文件中加载数据
voidappend_hb(hbnum*hb,hbinfox);/*
增添数据*/
voiddisplay_hb(hbnumhb);/*
输出航班信息表*/
voiddisplay_xs(hbnumhb);/*
输出航班销售信息表*/
hbinfosearch_hb(hbnumhb,intid);//
依据id
查找航班的售票状况
hbnumupdate_hb(hbnumhb,hbinfox);//
依据id
改正航班信息
voiddele_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);/*
增添数据*/
voiddisplay_hx(hxnumhx);/*
输出航班信息表*/
hxinfosearch_hx(hxnumhx,intid);//
依据id
查找航班的售票状况
hxnumupdate_hx(hxnumhb,hxinfox);//
依据id
改正航线信息
voiddele_hx(hxnum*hx,intid);//
删除航班信息
voidInsertSort_hx(hxnum*r);//
排序
voidsave_hx(hxnum
*hx);//
将数据保留到文件中
//售票
voidinit_sp(spnum*sp);//
初始化列表
voidcreate_sp(spnum*sp);//
从文件中加载数据
voidappend_sp(spnum*sp,spinfox);/*
增添数据*/
voiddisplay_sp(spnumsp);/*
输出航班信息表*/
spinfosearch_sp(spnumsp,intid);//
依据id
查找航班的售票状况
voidsearch_mx(spnumsp,intid);
intsearch_tj(spnumsp,intid);
voiddele_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_sp(&sp);//初始化售票表
create_sp(&sp);//创立售票表
InsertSort_hb(&hb);//对航班表排序
InsertSort_hx(&hx);//对航线表排序
InsertSort_sp(&sp);//对售票表排序
menu();
save_hb(&hb);
save_hx(&hx);
save_sp(&sp);
}
//
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
/*函数定义函数名称:menu功能描绘:实现主菜单功能的循环选择。
voidmenu(){
intj;
hbnumhb;
hxnumhx;
spnumsp;
hbinfohb_up,hb_sea,hb_add;
hxinfohx_up,hx_sea,hx_add;
spinfosp_sea,sp_add;
intid,total;
printf("\n\n\n\n$---------------------------------$\n");
printf("|welcome|\n");
printf("^_^管理员能查察和查问的航空信息^_^\n");
printf("\n\n输入航班信息:\n\n");
printf("1增添新的航班\n");
printf("2增添新的航线\n");
printf("3改正航班信息\n");
printf("4改正航线信息\n");
printf("5依据航班编号删除航班\n");
printf("6依据航班编号删除航班\n");
printf("7显示指定航班的售票状况(明细)\n");
printf("8显示指定航班的售票状况(统计值)\n");
printf("9显示各航班的销售状况\n");
printf("0返回菜单:");

*/
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
printf("请选择按键<0-6>:");
scanf("%d",&j);
if(j!=1&&j!=0&&j!=2&&j!=3&&j!=4&&j!=5&&j!=6&&j!=7&&j!=8&&j!=9){
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
printf("您输入的选项不存在,请从头输入:");menu();
}
else{
switch(j){
case1:{
printf("\nInputahxdentinformation:\n");
scanf("%d%d%s%d%s%s",&,&,&,
&,&,&);
append_hb(&hb,hb_add);
display_hb(hb);menu();break;}
case2:{printf("\nInputahxdentinformation:\n");
scanf("%d%s%s%s%s",&,&,&,&,&);
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
append_hx(&hx,hx_add);
display_hx(hx);menu();break;}
case3:{
printf("\nInputupdateid:\n");
scanf("%d",&);
printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:\n");
scanf("%d%s%d%s%s",&,
&,&,&);
hb=update_hb(hb,hb_up);
display_hb(hb);/*输出学生信息表*/
menu();break;}
case4:{printf("\nInputupdateid:\n");
scanf("%d",&);
printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:\n");
scanf("%d%s%s",&,
&,&);

&,
&,
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
hx=update_hx(hx,hx_up);
display_hx(hx);/*输出学生信息表*/
menu();break;}
case5:{
printf("\nInputayouwangdeletehangbanid:");
scanf("%d",&id);
dele_hb(&hb,id);menu();break;}
case6:{
printf("\nInputayouwangdeletehangbanid:");
scanf("%d",&id);
dele_hb(&hb,id);menu();break;}
case7:{
printf("\nInputahangbanid:\n");
scanf("%d",&id);
search_mx(sp,id);menu();break;}
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
case8:{
printf("\nInputahangbanid:\n");
scanf("%d",&id);
total=search_tj(sp,id);
printf("%d\n",total);menu();break;}
case9:{display_xs(hb);
menu();break;}
case0:{menu();}
}
}
}
航班信息
#include<>
#include<>
#include<>
#defineMAXhbsize100
#defineNUMBER50
typedefstruct
{
inthbId;
inthxId;
charqifei[NUMBER];
intemptytotal;
charprice[NUMBER];
charstate[NUMBER];
}hbinfo;
typedefstruct
{
hbinfoa[MAXhbsize];
inthbsize;
}hbnum;
/*置一个空表*/
voidinit_hb(hbnum*hb)
{
hb->hbsize=0;
}
/*创立航班表并从文件读取*/
voidcreate_hb(hbnum*hb)
{
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
FILE*fp;
inti=0;
if((fp=fopen("","r"))==NULL)
{
printf("canhIdtopenfile!");
exit(-1);
}
while(!feof(fp))
{
fscanf(fp,"%d%d%s%d%s%s",&hb->a[i].hbId,
&hb->a[i].hxId,&hb->a[i].qifei,&hb->a[i].emptytotal,&hb->a[i].price,&hb->a[i].state);
i++;
hb->hbsize++;
}
fclose(fp);
}
/*追加航班信息*/
voidappend_hb(hbnum*hb,hbinfox)
{
if(hb->hbsize==MAXhbsize){
printf("Thesequenceisfull!");exit(1);}
else{
hb->a[hb->hbsize]=x;
hb->hbsize++;
}
}
/*输出航班信息表*/
voiddisplay_hb(hbnumhb)
{
inti;
if(!){
printf("\nemptytable");}
else{
for(i=0;i<;i++){
printf("%d,%d,%s,%d,%s,%s\n",
[i].hbId,[i].hxId,[i].qifei,[i].emptytotal,[i].price,[i
].state);
}
}
}
/*输出航班销售信息表*/
voiddisplay_xs(hbnumhb);
{
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
inti;
if(!){
printf("\nemptytable");}
else{
for(i=0;i<;i++){
printf("航班编号,可售机票总数\n");
printf("%d,%d\n",[i].hbId,[i].emptytotal);
}
}
}
/*判断所查找学生能否在创立的学生表内*/
hbinfosearch_hb(hbnumhb,inthId)
{
inti=0;
while(i<&&[i].hbId!=hId){i++;}
[i];
}
/*依据id改正航班信息*/
hbnumupdate_hb(hbnumhb,hbinfox){
inti=0;
while(i<&&[i].hbId!=){i++;}
[i]=x;
returnhb;
}
/*删除航班数据*/
voiddele_hb(hbnum*hb,intid)
{
inti=0,j;
if(hb->hbsize==0)
{
printf("\n次序表是空的");
exit(1);
}
while(i<hb->hbsize&&id!=hb->a[i].hbId)
{
i++;
}
if(i<0||i>hb->hbsize){
printf("\n指定的删除地点不存在!");exit(1);
}else{
for(j=i;j<hb->hbsize-1;j++)
hb->a[j]=hb->a[j+1];
hb->hbsize--;
}
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
}
/*按学号进行次序排序*/
voidInsertSort_hb(hbnum*r)
{
inti,j;
hbinfox;
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
for(i=1;i>r->hbsize;i++)/*

待插入记录下标为

1~r->len-1*/
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
{
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
x=r->a[i];
j=i-1;
while(j>=0&&<r->a[j].hbId)
{
r->a[j+1]=r->a[j];
j--;
}
r->a[j+1]=x;
}
}
/*保留数据到文件*/
voidsave_hb(hbnum*hb)
{
FILE*fp;
inti;
if((fp=fopen("","w"))==NULL)
{
printf("canhIdtopenfile!");
exit(-1);
}
for(i=0;i<hb->hbsize;i++)
{
fprintf(fp,"%d%d%s%d%s%s\n",hb->a[i].hbId,hb->a[i].hxId,
hb->a[i].qifei,hb->a[i].emptytotal,hb->a[i].price,hb->a[i].state);
}
fclose(fp);
}
voidmain(){
hbnumhb;
hbinfoup,sea,add;
intid;
/*创立一个包括航班编号、航线编码、跳跃时间、可售机票总数、票价、目前状态(准
备、已出票、售完、已结束)信息表并输出到屏幕,*/
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
//init(&hb);//初始化线性表
//create(&hb);//创立学生表
printf("\nsourcelist:\n");
/*对已成立的学生信息表按学号从小到大排序,并把结果写入到数据文件中
()*/
//InsertSort(&hb);
//display(hb);/*输出学生信息表*/
printf("\nInputupdateid:\n");
scanf("%d",&);
printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:\n");
scanf("%d%s%d%s%s",&,&,&,&,&);
hb=update(hb,up);
//display(hb);/*输出学生信息表*/
//依据id查问航班
printf("\nInputahangbanid:\n");
scanf("%d",&id);
sea=search(hb,id);
//对查找返回的数据进行判断,假如为空则提示没找到,不然输出数据
if(==0){
printf("nofound%d\n",id);
}else{
//printf("%d,%d,%s,%d,%s,%s\n",,,,
,,);}//将查找到的数据输出
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
///*从键盘输入航班的有关信息插入到已排序的信息表中

*/
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
printf("\nInputahbdentinformation:\n");
scanf("%d%d%s%d%s%s",&,&,&,&,&,&);
append(&hb,add);
display(hb);
printf("\nInputayouwangdeletehangbanid:");
scanf("%d",&id);
dele(&hb,id);
printf("\nsave-baocun:");
save(&hb);
getchar();
}
航线信息
#include<>
#include<>
#include<>
#defineMAXhxsize100
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
#defineNUMBER50
typedefstruct
{
inthxId;
charqidian[NUMBER];
charzhongdian[NUMBER];
chargongli[NUMBER];
charflytime[NUMBER];
}hxinfo;
typedefstruct
{
hxinfoa[MAXhxsize];
inthxsize;
}hxnum;
/*置一个空表*/
voidinit_hx(hxnum*hx)
{
hx->hxsize=0;
}
/*创立航班表并从文件读取*/
voidcreate_hx(hxnum*hx)
{
FILE*fp;
inti=0;
if((fp=fopen("","r"))==NULL)
{
printf("canhIdtopenfile!");
exit(-1);
}
while(!feof(fp))
{
fscanf(fp,"%d%s%s%s%s",&hx->a[i].hxId,
&hx->a[i].qidian,&hx->a[i].zhongdian,&hx->a[i].gongli,&hx->a[i].flytime);i++;
hx->hxsize++;
}
fclose(fp);
}
/*追加航班信息*/
voidappend_hx(hxnum*hx,hxinfox)
{
if(hx->hxsize==MAXhxsize){
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料
《面向过程程序设计实践》课题资料