C语言机票订票管理系统源代码.docx

上传人:b****6 文档编号:3379938 上传时间:2022-11-22 格式:DOCX 页数:16 大小:18.38KB
下载 相关 举报
C语言机票订票管理系统源代码.docx_第1页
第1页 / 共16页
C语言机票订票管理系统源代码.docx_第2页
第2页 / 共16页
C语言机票订票管理系统源代码.docx_第3页
第3页 / 共16页
C语言机票订票管理系统源代码.docx_第4页
第4页 / 共16页
C语言机票订票管理系统源代码.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言机票订票管理系统源代码.docx

《C语言机票订票管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言机票订票管理系统源代码.docx(16页珍藏版)》请在冰豆网上搜索。

C语言机票订票管理系统源代码.docx

C语言机票订票管理系统源代码

#include//标准输入、输出头文件

#include//包含字符串函数处理头文件

#include//包含access函数的头文件

#include

#include

#include

#include

#defineN9999//定义最多的航班数

#definePRINT"%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式

 

structair//定义结构体数组

{

intnum;//定义航班号

charstart[20];//航班起始站

charover[20];//终点站

chartime[10];//飞行时间

intcount;//机票数量

}s[N];

inti,a,m=0;//定义全局变量

charii[10];

voidadd();//函数声明增加航班信息函数

voidprint();//显示航班信息

voidsearch();//查找航班信息

voiddingpiao();//订票业务

voidtuipiao();//退票

voidread();//读取文件

voidsave();//保存文件

voidoutput();//输出格式

voidpaixu();//航班排序

voidchushihua();//系统初始化

voidbuild();//建立数据文件

voidpaixu1();//按航班号从小到大排序

voidpaixu2();//从大到小

inthead();//进入订票系统

intmain()//主函数

{

intj;

system("colorb0");

chushihua();//系统初始化判断是否存在原始数据文件

system("cls");

head();//打印出系统主界面

system("cls");

do

{

printf("================================================================================");

printf("1.增加航班信息\n"

"\t2.浏览航班信息\n"

"\t\t3.查找航班信息(按航班号)\t\t\n"

"\t\t\t4.航班排序(按航班号)\n"

"\t\t\t\t5.订票业务\n"

"\t\t\t\t\t6.退票业务\n"

"\t\t\t\t\t\t0.退出\n");

printf("================================================================================");

printf("请在0-6中选择以回车键结束:

");

scanf("%d",&j);

switch(j)

{

case1:

add();system("cls");//调用增加航班函数

break;

case2:

print();system("cls");//调用显示模块

break;

case3:

search();system("cls");//调用查找模块

break;

case4:

paixu();system("cls");//调用排序函数

break;

case5:

dingpiao();system("cls");//调用订票模块

break;

case6:

tuipiao();system("cls");//调用退票模块

break;

case0:

//退出系统

save();system("cls");

printf("\n\n\n\t\t\t\t\n\n\t使用,再见!

");

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n");

break;

}

}while(j!

=0);//判断是否调用其他函数

}

 

voidchushihua()//定义系统初始化函数

{

if(access("hangban.dat",0))

{

build();

}

else

read();

}

voidbuild()//定义建立数据文件函数

{

FILE*fp;//定义文件指针

if((fp=fopen("hangban.dat","wb"))==NULL)//打开文件并判定是否出错

{

printf("创建文件失败!

");//打印出错提示

getchar();

return;

}

printf("请依次输入航班信息(以回车键结束):

\n");//打印提示信息

printf("--------------------------------------------------------------------------\n");

for(i=0;i

{

printf("请输入航班号:

");

scanf("%d",&s[i].num);//输入航班号

printf("请输入起始站:

");

scanf("%s",s[i].start);//输入起始站

printf("请输入终点站:

");

scanf("%s",s[i].over);//输入终点站

printf("请输入时间(星期几):

");

scanf("%s",s[i].time);//输入时间

printf("请输入机票数:

");

scanf("%d",&s[i].count);//输入机票数

fwrite(&s[i],sizeof(structair),1,fp);

m++;

printf("添加完毕,是否继续添加?

请键入y或n以回车键结束:

");

scanf("%s",ii);

if(strcmp(ii,"y")!

=0)//判断是否继续添加航班信息

{

fclose(fp);//关闭文件

return;

}

}

}

voidread()//定义读取文件函数

{

FILE*fp;

if((fp=fopen("hangban.dat","r"))==NULL)

{

printf("创建文件失败!

");

getchar();

return;

}

i=0;

while(!

feof(fp))

{

fread(&s[i],sizeof(structair),1,fp);//逐块读取数据

i++;

m++;//计算存在航班数

}

m--;

fclose(fp);

printf("请稍候,正在初始化");

for(a=0;a<3;a++)

{

printf(".");

Sleep(600);

}

printf("\n");

}

voidsave()//定义保存函数

{

FILE*fp;

if((fp=fopen("hangban.dat","wb"))==NULL)

{

printf("创建文件失败!

");

getchar();

return;

}

for(i=0;i

fwrite(&s[i],sizeof(structair),1,fp);

fclose(fp);

printf("正在保存数据并退出");

for(a=0;a<3;a++)

{

printf(".");

Sleep(600);

}

printf("\n");

printf("\n");

}

 

voidadd()//定义增加航班信息函数

{

do{

printf("请依次输入您要增加的航班信息(以回车键结束):

\n");//打印提示信息

printf("--------------------------------------------------------------------------\n");

printf("请输入航班号:

");

scanf("%d",&s[m].num);//读取航班号

printf("请输入起始站:

");

scanf("%s",s[m].start);//读取起始站

printf("请输入终点站:

");

scanf("%s",s[m].over);//读取终点站

printf("请输入时间(星期几):

");

scanf("%s",s[m].time);//读取时间

printf("请输入机票数:

");

scanf("%d",&s[m].count);//读取机票数

m++;

printf("添加完毕,是否继续添加?

请键入y或n以回车键结束:

");

scanf("%s",ii);

}while(!

strcmp(ii,"y"));//判断是否继续添加

printf("正在保存,请稍候");

for(a=0;a<5;a++)

{

printf(".");

Sleep(600);

}

printf("\n");

}

voidoutput()//定义输出格式函数

{

printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n");//信息标题

for(i=0;i

printf(PRINT);//打印出信息

}

voidprint()//定义显示航班信息函数

{

printf("正在加载,请稍候");

for(a=0;a<5;a++)

{

printf(".");

Sleep(400);

}

printf("\n");

system("cls");

printf("\n目前我们有如下航班:

\n\n");

output();//调用输出格式函数

printf("\n请按回车键返回上层菜单");

getchar();

getchar();

}

 

voidsearch()//定义查询函数

{

intn;

do

{

printf("\n请输入航班号:

");

scanf("%d",&n);//输入查询的航班号

printf("正在查询");

for(a=0;a<5;a++)

{

printf(".");

Sleep(400);

}

printf("\n");

for(i=0;i

{

if(s[i].num==n)//按航班号判定输出条件

{

printf("\n您所查找的航班信息为:

\n");

printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");

printf(PRINT);//显示信息

printf("\n查询完毕,按回车键继续");

getchar();

getchar();

return;

}

}

printf("\n对不起,没有您需要的信息!

\n");

printf("是否重新查找?

请键入y或n以回车键结束");

scanf("%s",ii);

}while(!

strcmp(ii,"y"));//判定是否重新查找

}

 

voiddingpiao()//定义订票业务函数

{

intn,x;

chara[10]="y";

do

{

search();//调用查询模块

if(!

strcmp(ii,"n"))

{

printf("对不起!

没有找到您所需要的航班,所以不能订票。

\n");//未查找到所需航班

printf("\n请按回车键返回上层菜单");

getchar();

getchar();

strcpy(ii,"n");

break;

}

do

{

printf("请输入您要订的机票数(以回车键结束):

");

scanf("%d",&n);//输入所订机票数

printf("请稍候,正在订票");

for(x=0;x<3;x++)

{

printf(".");

Sleep(600);

}

printf("\n");

if(n<=0)//判定机票数是否出错

{

printf("输入错误!

至少需订1机票。

\n");

}

elseif(s[i].count==0)//判定机票是否售完

{

printf("对不起,你所选择的航班的机票已售完!

\n");

break;

}

elseif(s[i].count!

=0&&s[i].count>=n)//判定机票数是否大于等于订票数

{

s[i].count=s[i].count-n;

printf("订票成功!

");

break;

}

elseif(s[i].count

{

printf("对不起,你所选择的航班只剩%d机票\n",s[i].count);

printf("是否需要重新输入机票数?

\n请输入y或n以回车键结束:

");//判定是否重新输入订票数

scanf("%s",a);

printf("请稍候,正在订票");

for(x=0;x<3;x++)

{

printf(".");

Sleep(600);

}

printf("\n");

}

}while(!

strcmp(a,"y"));

printf("是否需要订其他航班的机票?

\n请输入y或n以回车键结束:

");

scanf("%s",a);

}while(!

strcmp(a,"y"));//判定是否继续订票

}

 

voidtuipiao()//定义退票函数

{

intn,x;

chara[10];

do

{

search();//调用查询函数

if(!

strcmp(ii,"n"))

{

printf("对不起!

没有找到您所需要的航班,所以不能退票。

\n");

printf("\n请按回车键返回上层菜单");

getchar();

getchar();

strcpy(ii,"n");

break;

}

printf("请输入您要退的机票数目:

");

scanf("%d",&n);//输入所退票数

printf("请稍候,正在退票");

for(x=0;x<3;x++)

{

printf(".");

Sleep(600);

}

printf("\n");

if(n<=0)//判定票数是否有效

printf("输入错误!

至少需退1机票。

");

else

{

s[i].count=s[i].count+n;

printf("退票成功!

");

}

printf("是否继续?

请键入y或n以回车键结束:

");//判定是否继续退票

scanf("%s",a);

}while(!

strcmp(a,"y"));//判定并跳出循环

 

}

 

voidpaixu()//定义排序函数

{

intn;

printf("\n********************************************************************************");

printf("1.按航班号从小到大排序\n"

"\t2.按航班号从大到小排序\n");

printf("********************************************************************************");

printf("请在1-2中选择以回车键结束:

");

scanf("%d",&n);//输入排序方式

switch(n)

{

case1:

paixu1();//调用从小到大排序函数

break;

case2:

paixu2();//调用从大到小排序函数

break;

}

printf("排序后的航班信息为:

\n");

output();//显示排序后航班信息

printf("\n请按回车键返回上层菜单");

getchar();

getchar();

/*for(a=0;a<5;a++)

{

printf(".");

Sleep(400);

}

printf("\n");*/

}

voidpaixu1()//定义从小到大排序函数

{

intk,j;

structairt;

for(i=0;i

{

k=i;

for(j=i+1;j

if(s[k].num>s[j].num)

k=j;

if(i!

=k)

{

t=s[k];

s[k]=s[i];

s[i]=t;

}

}

printf("正在排序,请稍后");

for(a=0;a<5;a++)

{

printf(".");

Sleep(400);

}

printf("\n");

}

voidpaixu2()//定义从大到小排序函数

{

intk,j;

structairt;

for(i=0;i

{

k=i;

for(j=i+1;j

if(s[k].num

k=j;

if(i!

=k)

{

t=s[k];

s[k]=s[i];

s[i]=t;

}

}

printf("正在排序,请稍后");

for(a=0;a<5;a++)

{

printf(".");

Sleep(400);

}

printf("\n");

}

inthead()//进入订票系统

{

printf("=================================================================\n");

printf("**\n");

printf("*欢迎使用机票订票管理系统*\n");

printf("**\n");

printf("*此处可以适当的加点文字*\n");

printf("**\n");

printf("=================================================================\n");

printf("请按回车键进入界面");

getchar();

printf("正在进入系统选项");

for(a=0;a<3;a++)

{

printf(".");

Sleep(600);

}

printf("\n");

return0;

}

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

当前位置:首页 > 法律文书 > 起诉状

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

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