飞机管理系统.docx

上传人:b****4 文档编号:5005548 上传时间:2022-12-12 格式:DOCX 页数:29 大小:423.81KB
下载 相关 举报
飞机管理系统.docx_第1页
第1页 / 共29页
飞机管理系统.docx_第2页
第2页 / 共29页
飞机管理系统.docx_第3页
第3页 / 共29页
飞机管理系统.docx_第4页
第4页 / 共29页
飞机管理系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

飞机管理系统.docx

《飞机管理系统.docx》由会员分享,可在线阅读,更多相关《飞机管理系统.docx(29页珍藏版)》请在冰豆网上搜索。

飞机管理系统.docx

飞机管理系统

 

中国地质大学

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)

{

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

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1