#include /*头文件包含命令*/
#include
#define N 50
struct flight /*结构体存放航班信息的结构*/
{
int flight_no;
char startstation[20];
char endstation[20];
char flytime[10];
int plan_ticket;
int sell_ticket;
}fly[N];/*定义结构体变量*/
FILE* fp;
void Browse();
void printf_oneflight(int i);
void menu();
void input(i) /* 把航班信息输入到文件*/
{
struct flight t;
printf("\nflight_no startstation endstation flytime plan_ticket sell_ticket\n");
scanf("%d%s%s%s%d%d",&t.flight_no,t.startstation,t.endstation,t.flytime,&t.plan_ticket,&t.sell_ticket);
fp=fopen("flydata.txt","ab");
if(!fp){printf("can not open this file\n");exit(0);}
else fwrite(&t,sizeof(struct flight),1,fp);
fclose(fp);
}
void printf_oneflight(int i) /*输出一个 航班信息*/
{
printf("\n%5d%20s%20s%10s%4d%4d\n",fly[i].flight_no,fly[i].startstation,fly[i].endstation,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket);
}
void printf_face() /*输出文件内容结构*/
{
printf("\n\tNO. startstation endstation flytime plan_ticket sell_ticket\n");
}
int load()/*载入函数实现文件内容载入程序,并返回飞机航班数值*/
{
FILE *fp;
int i;
if((fp=fopen("flydata.txt","rb"))==NULL)
{
printf("\nCan not open file\n");
exit(0);
}
for(i=0;!feof(fp);i++)
fread(&fly[i],sizeof(struct flight),1,fp);
fclose(fp);
return(i-1);
}
void printf_back() /*返回退出函数实现程序退出、返回*/
{
int w;
printf("\n\n\tSuccessful.^_^\n\n");
printf("What do you want to do?\n\n\t1).Browse all now\t2).back:[]\b\b");
scanf("%d",&w);
if(w==1) Browse();
else menu();
}
void enter()/*航班信息录入*/
{
int i,n;
printf("How many flights do you want input? :[ ]\b\b");
scanf("%d",&n);
printf("\n Enter data now\n\n");
for(i=0;i
{
printf("\n Input %dth float record.\n",i+1);
input(i);
}
printf_back();
}
void Browse()
{
int i,n;
n=load();
printf_face();
for(i=0;i
{
if(i%10==0)
{
printf("\nPress any key to contiune ...");
getchar();
puts("\n\n");
}
puts("\n\n");
printf_oneflight(i);
}
printf("\tThere are %d record.\n",n);
printf("\nPress any key to back ...\n");
getchar(); /*没有返回植*/
menu();
}
void Search()/*查询*/
{
int m,i,flight_no,flag=0;
printf("Please input flight_no:\n");
scanf("%d",&flight_no);
m=load();
for(i=0;i
{
if(flight_no==fly[i].flight_no)
{
flag=1;
printf("\nThe flight message is:\n");
printf_oneflight(i);
}
}
if(flag==1)
printf("Found!");
else
printf("Not Found!");
printf_back();
}
void menu()
{
int n,w;
do
{
puts("\t\t***********************MENU***************************\n\n");
puts("\t\t\t\t 1.enter new data");
puts("\t\t\t\t 2.Browse all");
puts("\t\t\t\t 3.Search");
puts("\t\t\t\t 4.exit");
puts("\n\n\t\t *******************************************************\n");
printf("Choice your number(1-4): [ ]\b\b");
scanf("%d",&n);
if(n<1||n>4)
{
w=1;
getchar();
}
else w=0;
}
while(w==1);
switch(n)
{
case 1:enter();break;
case 2:Browse();break;
case 3:Search();break;
case 4:exit(0);
}
}
/*********************************主函数***********************************/
main()
{
menu();/*菜单函数的功能是替主函数调用个功能模块函数*/
}