飞机管理系统.docx
- 文档编号:5005548
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:29
- 大小:423.81KB
飞机管理系统.docx
《飞机管理系统.docx》由会员分享,可在线阅读,更多相关《飞机管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
飞机管理系统
中国地质大学
C课程设计报告
姓名
学号
专业
所在院系
教师姓名
日期:
2014年12月25日
目录
一、课程设计题目及要求计……………………………………………1
二、系统设计方案………………………………………………………1
(一)、总体框架………………………………………………1
(二)、流程图………………………………………………1
三、源程序清单…………………………………………………………4
四、调试过程……………………………………………………………12
五、程序有待改进的地方………………………………………………17
六、本次实习的收获和建议……………………………………………17
评语…………………………………………………………………18
一、课程设计题目及要求
题目飞机订票系统
任务:
二、系统设计方案
(一)、总体框架
飞机订票系统:
首先是主菜单,在该处选择进入管理员界面或者是客户界面,如需进入管理员界面需要输入密码,客户菜单可直接进入。
管理员界面:
1.添加航班信息
2.显示航班信息
3.查询航班信息
4.退出航班信息
客户界面:
1.显示航班信息
2.查询航班信息
3.预定机票
4.返退机票
5.退出订票系统
管理员界面和客户界面公用显示和查询航班信息模块,管理员界面独自拥有添加航班信息模块,客户界面可提供订票和退票功能。
添加航班信息:
能录入新数据,但对于文件中已有的航班号进行限制输入,所以文件中所有航班号都是唯一的。
显示航班信息:
输出所有的航班信息。
查询航班信息:
可以按航班号,终点站,起始站,航行时间四种方式查询。
对于通讯录中没有的航班显示没有该航班信息,并返回主菜单。
预定机票:
按航班号查找到航班信息,再进行订票操作,订票后已售机票会相应增加。
返退机票:
按航班号查找到航班信息,再进行退票操作,退票后已售机票会相应减少。
(二)、流程图
1)系统功能模块结构图:
2)模块流程图
a添加航班信息流程图
b查询模块
Yn
c订票和退票
d查询模块
Yn
三、源程序清单
#include
#include
#include
#include
#defineSIZE15
structflight/*结构体存放航班信息的结构*/
{
charflight_no[20];
charstartstation[20];
charendstation[20];
charflytime[10];
intplan_ticket;
intsell_ticket;
}fly[SIZE];/*定义结构体变量*/
voidBrowse();
voidmenu();
voidfn1();/*函数声明*/
voidfn2();/*函数声明*/
voiddingpiao();
voidtuipiao();//退票
voidmenu1();
voidchoice();
/*********************************************************************************************/
voidinput()/*把航班信息输入到文件*/
{
inti,n,j=0;
FILE*fp;
chars[21];
printf("请输入要添加的信息:
\n");
while
(1)
{
if((fp=fopen("flydata1.txt","w+"))==NULL)
{
printf("\n文件不存在.\n");
return;
}
lable:
printf("\n航班号\n");scanf("%s",s);
for(i=0;i { fscanf(fp,"%10s%10s%10s%20s%10d%10d\n",&fly[i].flight_no,&fly[i].startstation,&fly[i].endstation,&fly[i].flytime,&fly[i].plan_ticket,&fly[i].sell_ticket); if(strcmp(fly[i].flight_no,s)==0) { printf("该航班号已存在! 请重新输入。 \n"); gotolable; } } printf("请再次输入航班号: \n"); scanf("%s",&fly[j].flight_no); printf("\n起始站\n"); scanf("%s",&fly[j].startstation); printf("\n终点站\n"); scanf("%s",&fly[j].endstation); printf("\n飞行时间\n"); scanf("%s",&fly[j].flytime); printf("\n预售机票\n"); scanf("%d",&fly[j].plan_ticket); printf("\n已售机票\n"); scanf("%d",&fly[j].sell_ticket); printf("是否继续添加? 继续请按1,返回主菜单0\n"); scanf("%d",&n); if(n==0)break; elsej++;} if((fp=fopen("flydata.txt","a"))==NULL) { printf("\n文件不存在.\n"); return; } fprintf(fp,"\n%8s%10s%10s%13s%15d%15d\n",fly[j].flight_no,fly[j].startstation,fly[j].endstation,fly[j].flytime,fly[j].plan_ticket,fly[j].sell_ticket); fclose(fp); } /***************************************************************************************/ /*********************************************************************************************/ voidprintf_back()/*返回退出函数实现程序退出、返回*/ { intw,i; printf("请选择您想进入的界面! \n\n\t1).管理员界面\t2).客户界面: []\b\b"); scanf("%d",&w); if(w==1) {printf("请输入密码并以回车键结束: "); scanf("%d",&i); if(i! =12345) { printf("密码错误! \n请重新选择: "); printf_back(); } fn1(); } elsefn2(); } /*********************************************************************************************/ /*********************************************************************************************/ voidBrowse()/*显示*/ { inti; FILE*fp; if((fp=fopen("flydata.txt","r"))==NULL) { printf("\n文件不存在.\n"); return; } printf("═════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); for(i=0;i { fscanf(fp,"%10s%10s%10s%20s%10d%10d\n",&fly[i].flight_no,&fly[i].startstation,&fly[i].endstation,&fly[i].flytime,&fly[i].plan_ticket,&fly[i].sell_ticket); if(fly[i].plan_ticket==0) break; printf("%8s%10s%10s%13s%15d%15d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); } menu(); fclose(fp); system("pause"); } /*********************************************************************************************/ voidSearch()/*查询*/ { inti,item,flag; chars1[21]; FILE*fp; if((fp=fopen("flydata.txt","r"))==NULL) { printf("\n文件不存在.\n"); return; } printf("═══════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); for(i=0;i fscanf(fp,"%8s%10s%10s%13s%15d%15d",&fly[i].flight_no,&fly[i].startstation,&fly[i].endstation,&fly[i].flytime,&fly[i].plan_ticket,&fly[i].sell_ticket); while (1) { printf("**************************************************************************\n"); printf("请选择查找方式: \n\n");//打印查询方式菜单 printf("--------------------------------------------------------------------------\n"); printf("1.按航班号查找\n\n" "2.按终点站查找\n\n" "3.按起始站查找\n\n" "4.按航行时间查找\n\n" "0.返回\n\n"); printf("**************************************************************************\n"); printf("请选择子菜单编号: "); scanf("%d",&item); switch(item) {case1: printf("请输入航班号: \n"); scanf("%s",s1); for(i=0;i if(strcmp(fly[i].flight_no,s1)==0) { flag=1; printf("═══════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); printf("\n%8s%10s%10s%13s%15d%15d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); printf("═══════════════════════════════════════\n"); } if(flag==0) { printf("═══════════════════════════════════════\n"); printf("************************无该航班信息,请重新输入*******************************\n"); printf("═══════════════════════════════════════\n"); } system("pause"); break; case2: printf("请输入终点站: \n"); scanf("%s",s1); printf("═══════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); for(i=0;i if(strcmp(fly[i].startstation,s1)==0)/*比较两个字符串*/ { flag=1; printf("\n%8s%10s%10s%13s%15d%15d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); printf("═══════════════════════════════════════\n"); } if(flag==0) { printf("═══════════════════════════════════════\n"); printf("************************无该航班信息,请重新输入*******************************\n"); printf("═══════════════════════════════════════\n"); } system("pause"); break; case3: printf("请输入起始站: \n"); scanf("%s",s1); printf("═══════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); for(i=0;i if(strcmp(fly[i].endstation,s1)==0)/*比较两个字符串*/ { flag=1; printf("\n%8s%10s%10s%13s%15d%15d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); printf("═══════════════════════════════════════\n"); } if(flag==0) { printf("═══════════════════════════════════════\n"); printf("************************无该航班信息,请重新输入*******************************\n"); printf("═══════════════════════════════════════\n"); } system("pause"); break; case4: printf("请输入飞行时间: \n"); scanf("%s",s1); printf("═══════════════════════════════════════\n"); printf("\n航班号起始站终点站飞行时间预售机票已售机票\n"); for(i=0;i if(strcmp(fly[i].flytime,s1)==0)/*比较两个字符串*/ { flag=1; printf("\n%8s%10s%10s%13s%15d%15d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); printf("═══════════════════════════════════════\n"); } if(flag==0) { printf("═══════════════════════════════════════\n"); printf("************************无该航班信息,请重新输入*******************************\n"); printf("═══════════════════════════════════════\n"); } system("pause"); break; case0: printf_back(); default: printf("请在0-4之间选择\n"); } } system("pause"); menu(); fclose(fp); } /*********************************************************************************************/ voidfn1() {while (1) { menu1(); printf("请在0-3中选择: []\b\b"); choice(); } } voidmenu1() { puts("*********************************************************************\n"); puts("----------------------------主菜单-----------------------------------\n"); puts("\t\t1.添加航班信息"); puts("\t\t2.显示航班信息"); puts("\t\t3.查询航班信息"); puts("\t\t0.退出航班信息"); puts("*********************************************************************\n"); } voidchoice() { intn; scanf("%d",&n); getchar(); switch(n) { case1: input();break; case2: Browse();break; case3: Search();break; case0: exit(0);break; } getchar(); } /*********************************************************************************************/ voidfn2() { intn,w; do { puts("***************************************************************\n"); puts("----------------------------主菜单------------------------------\n"); puts("\t\t1.显示航班信息"); puts("\t\t2.查询航班信息"); puts("\t\t3.预定机票"); puts("\t\t4.返退机票"); puts("\t\t0.退出订票系统"); puts("*******************************************************\n"); printf("请在0-4中选择: []\b\b"); scanf("%d",&n); if(n<0||n>4) { w=1; getchar(); } elsew=0; } while(w==1); switch(n) { case1: Browse();break; case2: Search();break; case3: dingpiao();break; case4: tuipiao();break; case0: exit(0); } } /*********************************************************************************************/ voidmenu() {inta,i; printf("\n\n\n\n****************************************************************\n"); printf("\n"); printf("****欢迎进入飞机订票系统****\n"); printf("****制作人: 徐海容****\n"); printf("\n"); printf("****************************************************************\n\n"); printf("=============管理员进入请按==1==,客户进入请按==2==: "); scanf("%d",&a); while (1) {if(a! =1&&a! =2) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 管理 系统