程序代码出现了一点小问题,求帮忙!!!!
求大神帮忙改下面的程序,只有一个错误,错误就在倒数第二行,显示错误的原因是:`main' must return `int' #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 1000
typedef struct plane
{
char ID[10]; /*航班代号*/
char BePlace[10];/*飞机起飞地点*/
char EnPlace[10];/*飞机降落终点*/
char data[15];/*飞机起飞时间*/
int max;/*飞机最大乘客人数*/
int price;/*飞机票价*/
int num;/*飞机已售票数*/
}PLANE;
PLANE ti[N];
int n;/*当前的航班数目*/
void menu();
void menu1();
void input(int i)
{
printf("请输入航班代号:\n");
scanf("%s",ti[i].ID);
printf("请输入起飞地点:\n");
scanf("%s",ti[i].BePlace);
printf("请输入降落地点:\n");
scanf("%s",ti[i].EnPlace);
printf("请输入起飞时间:\n");
scanf("%s",ti[i].data);
printf("请输入航班的最大载客人数:\n");
scanf("%d",&ti[i].max);
printf("请输入航班的票价:\n");
scanf("%d",&ti[i].price);
ti[i].num=0;
}
void enter()
{
int i;
system( "cls" );
printf("请输入航班的数目(0-%d)?:",N);
scanf("%d",&n); /*要输入的记录个数*/
printf("\n请输入数据\n\n");
for(i=0;i<n;i++)
{
printf("\n请输入第 %d 航班记录.\n",i+1);
input(i); /*调用输入函数*/
}
getchar();
menu();
}
void printf_one(int i) /*显示一个记录的函数*/
{
printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);
}
void browse()
{
int i;
system( "cls" );
puts("\n--------------------------------------------------------------------");
printf("\n\t航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数\n");
for(i=0;i<n;i++)
{
printf_one(i);
printf("\n");
}
getchar();
getchar();
menu();
}
void order() /*排序模块(按平均成绩)*/
{
int i,j;
struct plane s;
system( "cls" );
for(i=0;i<n;i++) /*冒泡法排序*/
{
for(j=i+1;j<n;j++)
if(strcmp(ti[i].data,ti[j].data)>0)
{
s=ti[i];
ti[i]=ti[j];
ti[j]=s;}
}
browse();
}
void search_time()
{
int i,m=0;
struct plane s;
system( "cls" );
printf("\n\nEnter the time:");
scanf("%s",s.data); /*输入出发的时间*/
puts("\n--------------------------------------------------------------------");
printf("\n\t航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数\n");
for(i=0;i<n;i++)
{
if(strcmp(s.data,ti[i].data)==0)
{
m++;
if((m!=0)&&(m%10==0)) /*目的是分屏显示*/
{
printf("\n\nPress any key to contiune . . .");
getchar();
puts("\n\n");
}
printf_one(i);
printf("\n");
/*调用显示一个记录的函数*/
}
}
puts("\n--------------------------------------------------------------------");
getchar(); /*按任意健*/
getchar();
menu1();
}
void serch_end()
{
int i,m=0;
struct plane s;
system( "cls" );
printf("\n\nEnter the end Place:");
scanf("%s",s.EnPlace); /*输入要到达的地方*/
puts("\n--------------------------------------------------------------------");
printf("\n\t航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数\n");
for(i=0;i<n;i++)
{
if(strcmp(ti[i].EnPlace,s.EnPlace)==0)
{
m++;
if((m!=0)&&(m%10==0)) /*目的是分屏显示*/
{
printf("\n\nPress any key to contiune . . .");
getchar();
puts("\n\n");
}
printf_one(i);
printf("\n");
/*调用显示一个记录的函数*/
}
}
puts("\n--------------------------------------------------------------------");
getchar(); /*按任意健*/
getchar();
menu1();
}
void menu1()
{
int n,w1;
do
{
system( "cls" ); /*清屏*/
puts("\t\t\t\t 飞机售票操作!\n\n");
puts("\t\t*********************MENU*********************\n\n");
puts("\t\t\t\t1.按照时间排序");
puts("\t\t\t\t2.按照时间查找航班");
puts("\t\t\t\t3.按照地点查找航班");
puts("\t\t\t\t4.返回主菜单");
puts("\n\n\t\t**********************************************\n");
printf("Choice your number(1-4): [ ]\b\b");
scanf("%d",&n);
if(n<1||n>4) /*对选择的数字作判断*/
{
w1=1;
printf("your choice is not between 1 and 4,Please input again:");
getchar();
getchar();
}
else w1=0;
} while(w1==1);
/*选择功能*/
switch(n)
{
case 1:order();break;
case 2:search_time();break;
case 3:serch_end();break;
case 4:menu();break;
}
}
int search() /*查找模块*/
{
int i,k;
struct plane s;
k=-1;
system( "cls" );
printf("\n\n请输入要订票的起飞地点:");
scanf("%s",s.BePlace); /*输入要到达的地方*/
printf("\n\n请输入要订票的降落地点:");
scanf("%s",s.EnPlace);
printf("\n\n请输入要订票的起飞时间:");
scanf("%s",s.data); /*输入出发的时间*/
for(i=0;i<n;i++) /*查找要修改的数据*/
{
if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.data,ti[i].data)==0)
{
k=i; /*找到要修改的记录*/
printf_one(k);
break; /*调用显示一个记录的函数*/
}
}
if(k==-1)
{
printf("\n\nNO exist!");
return -1;
}
else
return k;
}
void book()
{
int i;
system( "cls" );
printf("欢迎进入售票窗口!\n");
i=search();
if(i!=-1)
{
if(ti[i].num>=ti[i].max)
{
printf("\n该趟航班票已售完!");
}
else
{
ti[i].num++;
printf("\n订票成功!\n");
}
}
else
printf("该航班不存在!\n");
getchar();
getchar(); /*按任意健*/
menu();
}
void back()
{
int i,k=-1;
struct plane s;
system( "cls" );
printf("欢迎进入退票窗口!\n");
printf("\n\n输入航班代号:");
scanf("%s",s.ID); /*输入要到达的地方*/
for(i=0;i<n;i++) /*查找要修改的数据*/
{
if(strcmp(s.ID,ti[i].ID)==0)
{
k=i; /*找到要修改的记录*/
printf_one(k);
break; /*调用显示一个记录的函数*/
}
}
if(k==-1)
{
printf("\n\nNO exist!");
}
else
{
ti[i].num--;
printf("\n退票成功!\n");
}
getchar(); /*按任意健*/
getchar(); /*按任意健*/
menu();
}
void save()
{
int w=1;
FILE *fp;
int i;
system( "cls" );
if((fp=fopen("\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/
{
printf("\nCannot open file\n");
return ;
}
for(i=0;i<n;i++)
if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1)
{
printf("file write error\n");
w=0;
}
if(w==1)
{
printf("file save ok!\n");
}
fclose(fp);
getchar();
getchar();
menu();
}
void load()
{
FILE*fp;
int i,w;
w=1;
system( "cls" );
if((fp=fopen("\\ticket.txt","rt"))==NULL)
{
printf("\nCannotopen file\n");
w=0;
return ;
}
n=0;
for(i=0;!feof(fp);i++)
{
fread(&ti[i],sizeof( struct plane),1,fp);
n++;
}
n=n-1;
fclose(fp);
if(w==1)
printf("Load file ok!");
getchar();
getchar();
menu();
}
void menu()
{
int n,w1;
do
{
system( "cls" ); /*清屏*/ /*清屏*/
puts("\t\t\t\t 飞机售票管理系统!\n\n");
puts("\t\t*********************MENU*********************\n\n");
puts("\t\t\t\t1.输入新航班");
puts("\t\t\t\t2.浏览 ");
puts("\t\t\t\t3.航班操作");
puts("\t\t\t\t4.订票");
puts("\t\t\t\t5.退票");
puts("\t\t\t\t6.保存");
puts("\t\t\t\t7.载入");
puts("\t\t\t\t8.退出");
puts("\n\n\t\t**********************************************\n");
printf("Choice your number(1-8): [ ]\b\b");
scanf("%d",&n);
if(n<1||n>8) /*对选择的数字作判断*/
{
w1=1;
printf("your choice is not between 1 and 8,Please input enter to choice again:");
getchar();
getchar();
}
else w1=0;
} while(w1==1);
/*选择功能*/
switch(n)
{
case 1:enter();break; /*输入模块*/
case 2:browse();break; /*浏览模块*/
case 3:menu1();break; /*查找模块*/
case 4:book();break; /*订票模块*/
case 5:back();break; /*退票模块*/
case 6:save();break; /*保存模块*/
case 7:load();break; /*加载模块*/
case 8:exit(0);
}
}
void main()
{
menu();
}