📄 航班输入.cpp
字号:
#include<stdio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct flight
{
char num[20];
char startcity[20];
char arrivecity[20];
char starttime[20];
char arrivetime[20];
float price;
int totaltickets,left;
float discount;
struct flight *next;
};
struct person
{char name[30][20];
char ID[30][30];
int tickets[30];
char ticketsid[30];
struct person *next;
};
struct flight *first,*p,*q;
struct person *first1,*j,*k;
int m=0;
void input();
void save();
void input()
{int i,y;
printf("请依次输入航班信息,完成输入信息后请按照提示键入0以回车键结束\n");
first=(struct flight*)malloc(sizeof(struct flight));
first1=(struct person*)malloc(sizeof(struct person));
p=first;
j=first1;
for(i=0;i<30;i++)
{ q=(struct flight*)malloc(sizeof(struct flight));
k=(struct person*)malloc(sizeof(struct person));
printf("请输入航班号: ");
scanf("%s",p->num);
printf("请输入起始城市: ");
scanf("%s",p->startcity);
printf("请输入抵达城市: ");
scanf("%s",p->arrivecity);
printf("请输入起始时间: ");
scanf("%s",p->starttime);
printf("请输入到达时间: ");
scanf("%s",p->arrivetime);
printf("请输入机票价格: ");
scanf("%d",&p->price);
printf("请输入机票折扣: ");
scanf("%d",&p->discount);
printf("请输入总的机票数(机票数为0结束输入): ");
scanf("%d",&p->totaltickets);
p->left=p->totaltickets;
p->next=q;
p=p->next;
j->next=k;
j=j->next;
m++;
printf("第%d个信息已经输完是否继续?按任意键继续,按0结束",m);
scanf("%d",&y);
if(y==0) break;
}
save();
}
void save()
{int i;
FILE *fp,*fp1,*fp2;
if((fp=fopen("f:\\flight.txt","wb+"))==NULL)
{
printf("创建文件失败! ");
getchar();
exit(0);
}
if((fp1=fopen("f:\\person.txt","wb+"))==NULL)
{
printf("创建文件失败! ");
getchar();
exit(0);
}
if((fp2=fopen("f:\\m.txt","wb+"))==NULL)
{
printf("创建文件失败! ");
getchar();
exit(0);
}
p=first;
j=first1;
for(i=0;i<m;i++)
{
fwrite(p,sizeof(struct flight),1,fp);
fwrite(j,sizeof(struct person),1,fp1);
p=p->next;
j=j->next;
}
fwrite(&m,sizeof(int),1,fp2);
fclose(fp);
fclose(fp1);
fclose(fp2);
}
void main()
{printf("请输入航班初始数据建立航班信息数据库:\n");
input();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -