实战项目航空查询系统Word格式.docx
《实战项目航空查询系统Word格式.docx》由会员分享,可在线阅读,更多相关《实战项目航空查询系统Word格式.docx(32页珍藏版)》请在冰点文库上搜索。
![实战项目航空查询系统Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/389881a0-723b-4833-9115-b73315e7dddf/389881a0-723b-4833-9115-b73315e7dddf1.gif)
voidinit_info(void);
voidshow_sort(void);
voidload_info(p_link);
voidsearch_info(void);
voidprintf_list(p_link);
voidsort_number(void);
voidsort_type(void);
voidsort_stime(void);
voidsort_value(void);
voidsort_info(void);
voidinput_info(void);
boolis_empty(p_link);
voidsave_file(p_link);
voidsave_info(p_link);
voidshow_info(void);
voidhelp_file(void);
voiddata_file(intnum);
booldata_changed;
#endif
Main.c主函数
main.c
Thu22Aug201309:
56:
38AMCST
inc/head.h"
intmain(void)
intn;
init_list(&
L);
create_list(L);
Menu:
system("
clear"
);
while
(1)
{
printf(BLUE"
\033[44;
37;
1mFlightSystem\n"
NONE);
printf("
\033[32m*****************************\n"
\033[31m*--->
1:
Loggingdata<
---*\n"
*--->
\033[32m2:
Dispaly<
\033[31m3:
Search<
\033[32m4:
Sort<
\033[31m5:
Load<
\033[32m6:
Logout<
\033[31m7:
Help<
\033[32m8:
Exit<
NONE);
printf(BLUE"
Enteryouchoose:
"
while(scanf("
%d"
&
n)!
=1||(n>
8||n<
1))
{
printf(RED"
Error!
!
Tryagain!
\n"
while(getchar()!
='
\n'
//清空缓存
printf(BLUE"
}
switch(n)
case1:
load_info(L);
gotoMenu;
//break;
case2:
show_info();
break;
case3:
search_info();
case4:
sort_info();
case5:
save_info(L);
//system("
case7:
help_file();
case6:
destroy_list(&
case8:
destroy_list(&
exit(0);
default:
exit
(1);
}
return0;
}
子函数
创建
create.c
Thu22Aug201310:
15:
00AMCST
../inc/head.h"
/*
*初始化链表
*/
voidinit_list(p_link*L)
*L=(p_link)malloc(sizeof(node_list));
if(*L==NULL)
{
perror("
malloc"
(*L)->
next=NULL;
*销毁链表
voiddestroy_list(p_link*L)
p_linkp=*L,q=NULL;
printf("
\033[1;
31m系统注销ing......\033[m\n"
sleep
(1);
printf(RED"
卡了?
你那破电脑!
sleep
(2);
\033[0;
32;
31m系统回收内存ing......\033[m\n"
while(p)
q=p->
next;
//先保存p的next
free(q);
p=q;
32m系统注销成功!
\033[m\n"
*向链表中插入数据
voidcreate_list(p_linkL)
p_linkp;
inti=0;
datatypemy_info[25]={
{"
MU508"
"
东京"
北京"
2013-08-18"
M"
18:
11"
20:
30"
1160},
BG008"
达卡"
曼谷"
2013-08-29"
B"
10:
21"
13:
31"
1870},
CZ3151"
深圳"
上海"
2013-07-28"
Z"
17:
52"
19:
59"
960},
CA1206"
北京"
西安"
2013-07-29"
A"
11:
46"
17"
890},
KZ4052"
昆明"
2013-07-30"
K"
12:
15"
16:
01"
860},
EU2753"
南京"
长沙"
2013-08-10"
E"
55"
738},
CZ6344"
杭州"
南阳"
2013-06-29"
C"
05"
14:
50"
1080},
KY8286"
广州"
昆明"
2013-08-03"
06:
09:
10"
1260},
SC4698"
西宁"
青岛"
2013-03-19"
S"
00"
20"
1398},
MF8139"
天津"
澳门"
2013-06-30"
08:
1379},
3U8764"
重庆"
2013-10-02"
3"
21:
00:
1108},
SC4645"
桂林"
2013-08-28"
1000},
CZ4846"
烟台"
2013-08-21"
3U8689"
济南"
兰州"
2013-05-03"
TV9835"
重庆"
林芝"
2013-05-21"
T"
45"
998},
MU2279"
伊宁"
2012-01-18"
23:
44"
1560},
HU7343"
沈阳"
Q"
1180},
ZH9981"
丽江"
2013-06-16"
1150},
TV9818"
成都"
01:
CA3986"
太原"
拉萨"
2013-04-01"
35"
1060},
MF8313"
珠海"
1020},
CA4336"
万州"
2013-05-13"
1098},
HU7020"
海口"
2013-08-26"
H"
SC4982"
厦门"
2013-06-11"
1490},
ZH1481"
运城"
40"
980},
};
for(i=0;
i<
25;
i++)
p=(p_link)malloc(sizeof(node_list));
p->
info=my_info[i];
/*尾插入*/
next=L->
L->
next=p;
L=L->
帮助
help.c
Thu22Aug201311:
36:
42AMCST
*航空查询系统说明文档
voidhelp_file()
FILE*fp=NULL;
char*buffer;
inti=0;
size_tsize;
buffer=(char*)malloc(1024*sizeof(char));
if(buffer==NULL)
return;
if(!
(fp=fopen("
help/help.txt"
"
r"
)))
读取文件错误!
while(getline(&
buffer,&
size,fp)!
=-1)
32m%s\033[m"
buffer);
++i;
if(i%20==0)
PressEntercontinue\n"
getchar();
fclose(fp);
free(buffer);
\nPressEntergotoMenu"
getchar();
航班信息输入
load_info.c
50:
24AMCST
手动输入航班信息
voidinput_info(void)
FILE*fp;
datatypemy_datatype;
if((fp=fopen("
help/my_data"
a+"
))==NULL)
Openfilefailed!
exit
(1);
memset(&
my_datatype,'
\0'
sizeof(my_datatype));
printf(BLUE"
请输入要插入的航班信息:
航班号起点站终点站班期机型起飞时间到达时间票价\n"
p_linkq=L;
p=(p_link)malloc(sizeof(node_list));
if(p==NULL)
exit
(1);
scanf("
%s%s%s%s%s%s%s%d"
p->
info.number,\
info.staddress,\
info.arraddress,\
info.date,\
info.type,\
info.stime,\
info.atime,\
&
p->
info.value);
while(q->
next!
=NULL)
q=q->
p->
next=q->
q->
fwrite(&
my_datatype,sizeof(my_datatype),1,fp);
信息输入成功!
*打开示例文件
voiddata_file(intnum)
if(num==2)
if(!
printf("
return;
elseif(num==3)
help/data"
//printf(RED"
/**
*通过文件录入航班信息
*@type;
1:
手动录入数据2:
加载自己手动输入的数据3.加载示例数据
voidload_info(p_linkL)
inttype;
Inputtype\n"
**************************************************************\n"
*1.LoadByHand2.LoadMy_data3.Loadbyfile4.GotoMenu*\n"
Enteryouchoose:
"
type);
switch(type)
case1:
input_info();
break;
case2:
data_file
(2);
case3:
data_file(3);
default:
航班信息的保存
save.c
38:
57AMCST
*判断是否为空
boolis_empty(p_linkL)
returnL->
next==NULL;
*保存数据
voidsave_file(p_linkL)
charpath[100];
p_linkp=L->
请输入保存路径:
%s"
path);
(fp=fopen(path,"
OpenFileFailed!
if(fprintf(fp,"
%s\t%s\t%s\t%s\t%s\t%s\t