📄 fly_add.c
字号:
/*文件fly_add.c代码*/
/*增加般班信息*/
#include <stdio.h>
#include <string.h>
#define N 30
add()
{
struct flyinf {
char no[10]; /*航班号*/
char end[20]; /*起飞站 */
char start[20]; /*终点站 */
char time[15]; /*起飞时间 */
int num; /*乘客数目 */
int number; /*本航班有乘客的数目 */
} f_inf[2]; /*f_inf[0]用于存放从文件中读出的职工信息,f_inf[1]用于
存放新增的职工信息. */
int total, i, addflag = 0;
FILE *fp1, *fp2, *fp3; /*fp1用于指向存放职工信息的文件,fp2用于指向一个临时
文件 */
clrscr();
fp1 = fopen("fly_inf.dat", "rb");
if (fp1 == NULL)
total = 0;
else
i = fread(&total, sizeof(int), 1, fp1);
/*total获得职工信息文件中职工的总人数. */
if (i != 1)
total = 0;
fp2 = fopen("fly_inf.out", "wb");
if (fp2 == NULL) {
printf("不能创建文件!\n");
getchar();
fcloseall();
return;
}
if (total > N) {
printf("此机场只有%d驾飞机!", N);
getch();
return;
}
printf("\n输入航班信息:");
printf("\n请输入一航班的航班号(不超过九位数):");
scanf("%s", f_inf[1].no);
printf("\n请输入航班起飞站:");
scanf("%s", f_inf[1].start);
printf("\n请输入航班终点站:");
scanf( %s", f_inf[1].end);
printf("\n请输入飞机起飞的时间:");
scanf("%s", f_inf[1].time);
printf("\n请输入可乘座的乘客数目:");
scanf("%d", &f_inf[1].num);
printf("\n请输入现有机票的数目:");
scanf("%d", &f_inf[1].number);
if((fp3 = fopen(f_inf[1].no, "wb")) == NULL)
{
printf("创建文件失败!");
getch();
fcloseall();
return;
}
fclose(fp3);
if(f_inf[1].num < f_inf[1].number || f_inf[1].num > 300)
{
printf("您输入错误!");
getch();
remove("wmen_crd.out");
fcloseall();
return;
}
/*下面程序用于实现航班的录入功能. */
i = total + 1;
fwrite(&i, sizeof(int), 1, fp2); /*将录入后的总航班数写入临时文件. */
if (total) {
for (i = 0; i < total; i++) {
fread(f_inf, sizeof(struct flyinf), 1, fp1);
if (addflag) {
fwrite(f_inf, sizeof(struct flyinf), 1, fp2);
continue;
}
if (strcmp(f_inf[0].no, f_inf[1].no) < 0)
fwrite(f_inf, sizeof(struct flyinf), 1, fp2);
else {
fwrite(&f_inf[1], sizeof(struct flyinf), 1, fp2);
fwrite(f_inf, sizeof(struct flyinf), 1, fp2);
addflag = 1;
}
}
if (!addflag)
fwrite(&f_inf[1], sizeof(struct flyinf), 1, fp2);
}
fwrite(&f_inf[1], sizeof(struct flyinf), 1, fp2); /*将输入的航班信息
写到临时文件中去. */
fcloseall();
remove("fly_inf.dat");
if(!rename("fly_inf.out", "fly_inf.dat"))
printf("录入成功!");
else
printf("重命名错误!");
getchar();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -