《面向过程程序设计实践》课题课件.docx

上传人:b****7 文档编号:16556192 上传时间:2023-07-14 格式:DOCX 页数:29 大小:21.32KB
下载 相关 举报
《面向过程程序设计实践》课题课件.docx_第1页
第1页 / 共29页
《面向过程程序设计实践》课题课件.docx_第2页
第2页 / 共29页
《面向过程程序设计实践》课题课件.docx_第3页
第3页 / 共29页
《面向过程程序设计实践》课题课件.docx_第4页
第4页 / 共29页
《面向过程程序设计实践》课题课件.docx_第5页
第5页 / 共29页
《面向过程程序设计实践》课题课件.docx_第6页
第6页 / 共29页
《面向过程程序设计实践》课题课件.docx_第7页
第7页 / 共29页
《面向过程程序设计实践》课题课件.docx_第8页
第8页 / 共29页
《面向过程程序设计实践》课题课件.docx_第9页
第9页 / 共29页
《面向过程程序设计实践》课题课件.docx_第10页
第10页 / 共29页
《面向过程程序设计实践》课题课件.docx_第11页
第11页 / 共29页
《面向过程程序设计实践》课题课件.docx_第12页
第12页 / 共29页
《面向过程程序设计实践》课题课件.docx_第13页
第13页 / 共29页
《面向过程程序设计实践》课题课件.docx_第14页
第14页 / 共29页
《面向过程程序设计实践》课题课件.docx_第15页
第15页 / 共29页
《面向过程程序设计实践》课题课件.docx_第16页
第16页 / 共29页
《面向过程程序设计实践》课题课件.docx_第17页
第17页 / 共29页
《面向过程程序设计实践》课题课件.docx_第18页
第18页 / 共29页
《面向过程程序设计实践》课题课件.docx_第19页
第19页 / 共29页
《面向过程程序设计实践》课题课件.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《面向过程程序设计实践》课题课件.docx

《《面向过程程序设计实践》课题课件.docx》由会员分享,可在线阅读,更多相关《《面向过程程序设计实践》课题课件.docx(29页珍藏版)》请在冰点文库上搜索。

《面向过程程序设计实践》课题课件.docx

《面向过程程序设计实践》课题课件

任务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,显示顾客的购票信息

主菜单

/****************************************/

/*模块名称:

Menu.c功能描述:

实现菜单功能*/

#include"stdio.h"/*输入输出函数的头文件*/

#include"shoupiao.c"

#include"hangban.c"

#include"hangxian.c"

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",&hb_add.hbId,&hb_add.hxId,&hb_add.qifei,&hb_add.emptytotal,&hb_add.price,&hb_add.state);

append_hb(&hb,hb_add);

display_hb(hb);menu();break;}

case2:

{printf("\nInputahxdentinformation:

\n");

scanf("%d%s%s%s%s",&hx_add.hxId,&hx_add.qidian,&hx_add.zhongdian,&hx_add.gongli,&hx_add.flytime);

append_hx(&hx,hx_add);

display_hx(hx);menu();break;}

case3:

{

printf("\nInputupdateid:

\n");

scanf("%d",&hb_up.hbId);

printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:

\n");

scanf("%d%s%d%s%s",&hb_up.hxId,&hb_up.qifei,&hb_up.emptytotal,&hb_up.price,&hb_up.state);

hb=update_hb(hb,hb_up);

display_hb(hb);/*输出学生信息表*/

menu();break;}

case4:

{printf("\nInputupdateid:

\n");

scanf("%d",&hx_up.hxId);

printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:

\n");

scanf("%d%s%s",&hx_up.qidian,&hx_up.zhongdian,&hx_up.gongli,&hx_up.flytime);

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("hangban.txt","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(!

hb.hbsize){

printf("\nemptytable");}

else{

for(i=0;i

printf("%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);

}

}

}

/*输出航班销售信息表*/

voiddisplay_xs(hbnumhb);

{

inti;

if(!

hb.hbsize){

printf("\nemptytable");}

else{

for(i=0;i

printf("航班编号,可售机票总数\n");

printf("%d,%d\n",hb.a[i].hbId,hb.a[i].emptytotal);

}

}

}

/*判断所查找学生是否在创建的学生表内*/

hbinfosearch_hb(hbnumhb,inthId)

{

inti=0;

while(i

=hId){i++;}

returnhb.a[i];

}

/*根据id修改航班信息*/

hbnumupdate_hb(hbnumhb,hbinfox){

inti=0;

while(i

=x.hbId){i++;}

hb.a[i]=x;

returnhb;

}

/*删除航班数据*/

voiddele_hb(hbnum*hb,intid)

{

inti=0,j;

if(hb->hbsize==0)

{

printf("\n顺序表是空的");

exit

(1);

}

while(ihbsize&&id!

=hb->a[i].hbId)

{

i++;

}

if(i<0||i>hb->hbsize){

printf("\n指定的删除位置不存在!

");exit

(1);

}else{

for(j=i;jhbsize-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&&x.hbIda[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("hangban.txt","w"))==NULL)

{

printf("canhIdtopenfile!

");

exit(-1);

}

for(i=0;ihbsize;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;

///*创建一个包含航班编号、航线编码、起飞时间、可售机票总数、票价、当前状态(准备、已出票、售完、已结束)信息表并输出到屏幕,学生信息从recod.txt读取*/

//init(&hb);//初始化线性表

//create(&hb);//创建学生表

//printf("\nsourcelist:

\n");

///*对已建立的学生信息表按学号从小到大排序,并把结果写入到数据文件中(result.txt)*/

//InsertSort(&hb);

//display(hb);/*输出学生信息表*/

//printf("\nInputupdateid:

\n");

//scanf("%d",&up.hbId);

//printf("\nInputupdatehx,qifeishijian,kongpiao,price,state:

\n");

//scanf("%d%s%d%s%s",&up.hxId,&up.qifei,&up.emptytotal,&up.price,&up.state);

//hb=update(hb,up);

//display(hb);/*输出学生信息表*/

////根据id查询航班

//printf("\nInputahangbanid:

\n");

//scanf("%d",&id);

//sea=search(hb,id);

////对查找返回的数据进行判断,如果为空则提示没找到,否则输出数据

//if(sea.hbId==0){

//printf("nofound%d\n",id);

//}else{

//printf("%d,%d,%s,%d,%s,%s\n",sea.hbId,sea.hxId,sea.qifei,sea.emptytotal,sea.price,sea.state);}//将查找到的数据输出

///*从键盘输入航班的相关信息插入到已排序的信息表中*/

//printf("\nInputahbdentinformation:

\n");

//scanf("%d%d%s%d%s%s",&add.hbId,&add.hxId,&add.qifei,&add.emptytotal,&add.price,&add.state);

//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("hangxian.txt","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){

printf("Thesequenceisfull!

");exit

(1);}

else{

hx->a[hx->hxsize]=x;

hx->hxsize++;

}

}

/*输出航班信息表*/

voiddisplay_hx(hxnumhx)

{

inti;

if(!

hx.hxsize){

printf("\nemptytable");}

else{

for(i=0;i

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2