求助帖,帮忙修改一下程序,关于飞机订票系统的设计
#include<stdio.h>#include<string.h>
#include <windows.h>
#define N 20
void input();
void display();
void find();
struct
{
char flightno[10];//航班号
char start[10]; //起始站
char end[10];//终点站
float day;//飞行时间
int totalticket;//预售票总数
int sellticket;//已售票总数
}flight[N];//航班结构体
int nowN;
int main()/*主函数*/
{
int a;
start:printf("\n\t\t\t欢迎使用飞机订票管理系统\n");
/*以下为功能选择模块*/
do
{printf("\n\t\t\t\t1.录入航班信息\n\t\t\t\t2.显示航班信息\n\t\t\t\t3.查询航班信息\n\t\t\t\t4.退出整个程序\n");
printf("\t\t\t\t选择功能选项:");
fflush(stdin);
scanf("%d",&a);
switch(a)
{
case 1:system("cls");input();break;
case 2:system("cls");display();break;
case 3:system("cls");find();break;
case 4:system("exit");exit(0);
default:system("cls");goto start;
}
}while(1); /*至此功能选择结束*/
}
void input()/*录入航班信息*/
void main()
{
FILE*in;
char ch[60],sh[60],bh[60],zh[60];
if((in=fopen("d:\\test.txt","w"))==NULL)
{
printf("can not open file\n");
exit(0);
}
int i=0;
char b;
{printf("\t\t\t\t1.录入航班信息\n输入第%d个航班的信息\n",i+1);
printf("\n输入航班号:");
fflush(stdin);
gets(flight[i].flightno.ch);
printf("\n输入起始站:");
fflush(stdin);
gets(flight[i].start.sh);
printf("\n输入终点站:");
fflush(stdin);
gets(flight[i].end.bh);
printf("\n输入飞行时间:");
fflush(stdin);
scanf("%f",&flight[i].day.zh);
printf("\n\n");
i++;
nowN=i;
printf("\n是否继续输入?(Y/N)");
fflush(stdin);
b=getchar();
system("cls");
}
while(b!='n'&&b!='N');
system("cls");
}
void display()/*显示航班信息*/
{ int i;
char c;
do{
printf("\t\t航班信息列表\n");
printf("\t航班号\t起始站\t终点站\t飞行时间\n");
for(i=0;i<nowN&&flight[i].flightno[0];i++)
printf("\t%s\t%s\t%s\t%f\n",flight[i].flightno,flight[i].start,flight[i].end,flight[i].day);
printf("\t\t按任意键返回主菜单.");
fflush(stdin);
c=getchar();
}while(!c);
system("cls");
}
void find()/*查询航班信息*/
{
void flightnofind();
void startfind();
void endfind();
void dayfind();
int g;
start:printf("\n\t\t\t\t航班信息查询\n");
do
{
printf("\n\t\t\t\t1.按航班号查询\n\t\t\t\t2.按起始站查询\n\t\t\t\t3.按终点站查询\n\t\t\t\t4.按飞行时间查询\n\t\t\t\t5.返回主菜单\n\t\t\t\t6.退出整个程序");
printf("\n输入查询功能选项:");
fflush(stdin);
scanf("%d",&g);
switch(g)
{case 1:system("cls");flightnofind();break;
case 2:system("cls");startfind();break;
case 3:system("cls");endfind();break;
case 4:system("cls");dayfind();break;
case 5:system("cls");main();break;
case 6:system("exit");exit(0);
default:system("cls");goto start;}
}while(1);
}
void flightnofind()
{
int j;
char string[20],h;
do
{
printf("\n输入要查询的航班号:");
fflush(stdin);
gets(string);
for(j=0;j<nowN;j++)
if(!strcmp(flight[j].flightno,string))
{
printf("\t航班号\t起始站\t终点站\t飞行时间\n");
printf("\t%s\t%s\t%s\t%f",flight[j].flightno,flight[j].start,flight[j].end,flight[j].day);
}
printf("\t\t按任意键返回选择菜单");
fflush(stdin);
h=getchar();
}while(!h);
system("cls");
}
void startfind()
{
int i;
char string[20],as;
do
{
printf("\n输入要查询的起始站:");
fflush(stdin);
gets(string);
for(i=0;i<nowN;i++)
if(!strcmp(flight[i].start,string))
{
printf("\t航班号\t起始站\t终点站\t飞行时间\n");
printf("\t%s\t%s\t%s\t%f",flight[i].flightno,flight[i].start,flight[i].end,flight[i].day);}
printf("\t\t按任意键返回选择菜单");
fflush(stdin);
as=getchar();
}while(!as);
system("cls");
}
void endfind()
{
int i;
char string[20],as;
do
{
printf("\n输入要查询的终点站:");
fflush(stdin);
gets(string);
for(i=0;i<nowN;i++)
if(!strcmp(flight[i].end,string))
{
printf("\t航班号\t起始站\t终点站\t飞行时间\n");
printf("\t%s\t%s\t%s\t%f",flight[i].flightno,flight[i].start,flight[i].end,flight[i].day);}
printf("\t\t按任意键返回选择菜单");
fflush(stdin);
as=getchar();
}while(!as);
system("cls");
}
void dayfind()
{
int i;
float a;
char as;
do
{
printf("\n输入要查询的飞行时间:");
fflush(stdin);
scanf("%f",&a);
for(i=0;i<nowN;i++)
if(a==flight[i].day)
{
printf("\t航班号\t起始站\t终点站\t飞行时间\n");
printf("\t%s\t%s\t%s\t%f\n",flight[i].flightno,flight[i].start,flight[i].end,flight[i].day);}
printf("\t\t按任意键返回选择菜单");
fflush(stdin);
as=getchar();
}while(!as);
system("cls");
}