📄 c++feiji.c
字号:
{ char i;
printf("\nAppend Record!\n");
printf("\nAirNo[4]"); for(i=0;i<4;i++) s.AirNo[i]=getche();
printf("\nStartPos[6]"); for(i=0;i<6;i++) s.StartPos[i]=getche();
printf("\nEndPos[6]"); for(i=0;i<6;i++) s.EndPos[i]=getche();
printf("\nStartTime[14]");for(i=0;i<14;i++)s.StartTime[i]=getche();
printf("\nMount[4]"); for(i=0;i<4;i++) s.Mount[i]=getche();
printf("\nPrice[5]"); for(i=0;i<5;i++) s.Price[i]=getche();
s.a=0x0a;
do{printf("\nConfirm Y/N ?");
i=getche();
}while((i!='Y')&(i!='y')&(i!='N')&(i!='n'));
if((i=='Y')|(i=='y')) return 1;
else return 0;
}
void Func1(void)
{ char i;
i=Func11();
if(i==1) write_app();
}
void Func2(void)
{ char m,i;
long curposT;
printf("\nModify Record!\n");
printf("\n Input No. for display\n");
m=getche();
if((m>='0')|(m<=9)) curposT=disp_i(m-'0');
getch();
printf("\nFunc1 Started!\n");
printf("\nAirNo[4]"); for(i=0;i<4;i++) s.AirNo[i]=getche();
printf("\nStartPos[6]"); for(i=0;i<6;i++) s.StartPos[i]=getche();
printf("\nEndPos[6]"); for(i=0;i<6;i++) s.EndPos[i]=getche();
printf("\nStartTime[14]");for(i=0;i<14;i++)s.StartTime[i]=getche();
printf("\nMount[4]"); for(i=0;i<4;i++) s.Mount[i]=getche();
printf("\nPrice[5]"); for(i=0;i<5;i++) s.Price[i]=getche();
s.a=0x0a;
do{printf("\nConfirm Y/N ?");
i=getche();
}while((i!='Y')&(i!='y')&(i!='N')&(i!='n'));
if((i=='Y')|(i=='y'))
write_rewrite (curposT);
}
void Func3(void)
{ char m;
printf("\nInsert Record!\n");
m=getche();
if((m>='0')&(m<='9'))
Insert_i(m-'0');
// getche();
}
void Func4(void)
{ char m;
printf("\nDelete Record!\n");
m=getche();
if((m>='0')&(m<='9')) delet_i(m-'0');
getche();
}
void disp_title(void)
{
printf("\n航班号\t起始站\t终点站\t起飞时间 成员定额 票价");
}
void disp_OneRecord(char num)
{ char i;
printf("\n ");for(i=0;i<4;i++) printf("%c",ss[num].AirNo[i]);
printf(" /");for(i=0;i<6;i++) printf("%c",ss[num].StartPos[i]);
printf(" /"); for(i=0;i<6;i++) printf("%c",ss[num].EndPos[i]);
printf(" /"); for(i=0;i<14;i++) printf("%c",ss[num].StartTime[i]);
printf(" /"); for(i=0;i<4;i++) printf("%c",ss[num].Mount[i]);
printf(" /"); for(i=0;i<5;i++)printf("%c",ss[num].Price[i]);
// printf("\n");
}
void search_by_endpos() //已完成的函数 2/5
{
char Tplace[24],i,n;
int count;
count=Read_all(); //读全部记录至结构ss[0...49]
printf("\n请输入查询航班到达地方:");
for(i=0;i<6;i++)
Tplace[i]=getche();//scanf("%s",Tdate);
disp_title(); //打印信息标题
/*for (i=0;i<count;i++)
if(strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i); */
for (i=0;i<count;i++)
if((ss[i]. EndPos[0]== Tplace[0])&&
(ss[i]. EndPos[1]== Tplace[1])&&
(ss[i]. EndPos[2]== Tplace[2])&&
(ss[i]. EndPos[3]== Tplace[3])&&
(ss[i]. EndPos[4]== Tplace[4])&&
(ss[i]. EndPos[5]== Tplace[5]))
disp_OneRecord(i);
printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void search_by_date_and_endpos() //已完成的函数 3/5
{
char Tdate[14],Tplace[6],i,n;
int count;
count=Read_all(); //读全部记录至结构ss[0...49]
printf("\n请输入查询日期:");
scanf("%s",Tdate);
printf("\n请输入到达地点:");
for(i=0;i<6;i++) Tplace[i]=getche();
disp_title(); //打印信息标题
for (i=0;i<count;i++)
if((ss[i]. StartTime[0]== Tdate[0])&&(ss[i].EndPos[0]== Tplace[0])&&
(ss[i]. StartTime[1]== Tdate[1])&&(ss[i].EndPos[1]== Tplace[1])&&
(ss[i]. StartTime[2]== Tdate[2])&&(ss[i].EndPos[2]== Tplace[2])&&
(ss[i]. StartTime[3]== Tdate[3])&&(ss[i].EndPos[3]== Tplace[3])&&
(ss[i]. StartTime[4]== Tdate[4])&&(ss[i].EndPos[4]== Tplace[4])&&
(ss[i]. StartTime[5]== Tdate[5])&&(ss[i].EndPos[5]== Tplace[5]))
disp_OneRecord(i);
printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void search_by_Mount() //已完成的函数 4/5
{
char Max[6],i,n;
int count;
count=Read_all(); //读全部记录至结构ss[0...49]
printf("\n请输入查询航班号");
for(i=0;i<6;i++) Max[i]=getche();//scanf("%s",Tdate);
disp_title(); //打印信息标题
for (i=0;i<count;i++)
if((ss[i]. AirNo[0]== Max[0])&&
(ss[i]. AirNo[1]== Max[1])&&
(ss[i]. AirNo[2]== Max[2])&&
(ss[i]. AirNo[3]== Max[3])&&
(ss[i]. AirNo[4]== Max[4])&&
(ss[i]. AirNo[5]== Max[5]))
disp_OneRecord(i); //打印信息
printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
long chg(char i)
{long n;
n=(ss[i].StartTime[0]-'0')*100000+
(ss[i].StartTime[1]-'0')*10000+
(ss[i].StartTime[2]-'0')*1000+
(ss[i].StartTime[3]-'0')*100+
(ss[i].StartTime[4]-'0')*10+
(ss[i].StartTime[5]-'0');
return n;
}
void order_by_date() //已完成的函数 5/5
{
long a[100],b[100];
int count;
int i,j;
long temp;
system("cls");//清屏
count=Read_all(); //读全部记录至结构ss[0...49]
for(i=0;i<count;i++)
a[i]=chg(i);//冒泡排序法
for(i=0;i<count;i++) b[i]=a[i];
printf("\n排序前数组为\n");
for(i=0;i<count;i++) printf("%ld ",a[i]);
for(i=0;i<count;i++)
{
for(j=i;j<count;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\n");
for(i=0;i<count;i++)
printf("%ld-",a[i]);
printf("\n排序后数组为\n");
for(j=0;j<count;j++)
for(i=0;i<count;i++)
if(a[j]==b[i]) disp_OneRecord(i);
}
void search_by_date() // 样板 1/5
{ char Tdate[14],i,n;
int count;
count=Read_all(); //读全部记录至结构ss[0...49]
printf("\n请输入查询日期:");
scanf("%s",Tdate);
disp_title(); //打印信息标题
/*for (i=0;i<count;i++)
if(strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i); */
for (i=0;i<count;i++)
if((ss[i]. StartTime[0]== Tdate[0]) &&
(ss[i]. StartTime[1]== Tdate[1])&&
(ss[i]. StartTime[2]== Tdate[2])&&
(ss[i]. StartTime[3]== Tdate[3])&&
(ss[i]. StartTime[4]== Tdate[4])&&
(ss[i]. StartTime[5]== Tdate[5]))
disp_OneRecord(i);
printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void Func5(void)
{char n;
printf("\n请选择");
printf("\n 1)按照时间来统计航班的航班号,即某天都有哪些航班。");
printf("\n 2)统计到某个终点的航班号,即到某个地方有哪些航班可以到达。");
printf("\n 3)统计某天到某个地方的航班号。");
printf("\n 4)统计该航空公司各个航班的最大载称人数。");
printf("\n 5)按照航班的时间进行排序。");
n=getche();
switch(n){
case '1': search_by_date(); break;
case '2': search_by_endpos();break;
case '3': search_by_date_and_endpos();break;
case '4': search_by_Mount();break;
case '5': order_by_date(); break;
default: break;
}
printf("\n exit when Press Any key "); getche();
}
void Func6(void)
{
printf("\nCalculate!\n");
getche();
}
void main()
{ char n,m;
int count;
for(;;){
// clrscr();
system("CLS");
printf("\n\t\t\t 飞机订票系统设计 ");
printf("\n\t\t\t ------主菜单------- ");
printf("\n\t\t\t 1.录入 Input");
printf("\n\t\t\t 2.修改 Modify");
printf("\n\t\t\t 3.插入 Insert");
printf("\n\t\t\t 4.删除 Delete");
printf("\n\t\t\t 5.查询 Inquire");
printf("\n\t\t\t 6.统计计算 Calculate");
printf("\n\t\t\t 7.Display_i Record");
printf("\n\t\t\t 8.Display_all Record");
printf("\n\t\t\t 9.Reserved");
printf("\n\t\t\t 0.Exit ");
n=getch();
switch(n)
{
case '1': Func1(); break; // Input
case '2': Func2(); break; // Modify
case '3': Func3(); break; // Insert
case '4': Func4(); break; // Delete ok
case '5': Func5(); break; // *Inquire
case '6': Func6(); break; // *Calculate
case '7': printf("\n Input No. for display\n");
m=getche();
if((m>='0')&(m<='9')) disp_i(m-'0');
getch(); break;
case '8': disp_all(); getch(); break;
case '9': getch(); break;
case '0': break; //exit to DOS
case 'a':
case 'A': count=Read_all(); //读全部记录至结构ss[0...49]
disp_title(); //打印信息标题
for(m=0;m<count;m++)
disp_OneRecord(m); //打印全部记录中的某一个;
write_all(count); //将n个记录保存至文件中;
break;
case 'b':
case 'B':
default: break;
}
if(n=='0') break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -