📄 xinxi.c
字号:
#include "bianliang.h"
#define N 10 //飞机数
// // // // // // // // // // 输入航班信息 // // // // // // // // // //
void input(emploe em1[10], int k)
{
FILE *f;
int i = 0,j=0,a=0; //a记录航班数量
char n,num[10];
airplane air[N];
if ((f=fopen("a.dat","r+"))==NULL)
{
printf("File Can't be find!\n");
}
else
{
fread(&a,sizeof(a),1,f);
}
fclose(f);
if ((f=fopen("air.dat","r+"))==NULL) //从文件air.dat中读入数据
{
printf("File Can't be find!\n");
}
else
{
fread(&air,sizeof(air),1,f);
}
fclose(f);
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
if (a==N)
{
loop0: printf("\n\n\n\n\n\n\n\t\t航班数量已到最大值,请删除无用的航班信息!!");
printf("\n\n\n\n\n\n\n\n\n\n\n================================================================================");
printf("\n\t\t\t\t(按任意键返回)");
fflush(stdin);
n=getch();
goto loop4;
}
for (i = a;i < N;i++)
{
loop1: printf("\n\n\t\t\t§请输入第 %d 条航班信息§\n", a + 1);
printf("\n\t\t\t请输入航班号:");
fflush(stdin);
gets(num);
for (j=0;j<N;j++)
{
if (strcmp(num,air[j].num)==0)
{
printf("\n\n\n\n\t\t\t该班次已经存在!!");
printf("\n\n\n\n\n\n\n\n\n================================================================================");
printf("\n\t\t\t\t(按任意键返回)");
fflush(stdin);
n=getch();
goto loop5;
}
}
strcpy(air[i].num,num);
printf("\n\t\t\t请输入起始站:");
fflush(stdin);
gets(air[i].start);
printf("\n\t\t\t请输入终点站:");
fflush(stdin);
gets(air[i].finish);
printf("\n\t\t\t请输入起飞日期(年-月-日):");
fflush(stdin);
scanf("%d-%d-%d", &air[i].day.year, &air[i].day.month, &air[i].day.day);
printf("\n\t\t\t请输入起飞时间(小时:分钟):");
fflush(stdin);
scanf("%d:%d", &air[i].hour.hour, &air[i].hour.minute);
printf("\n\t\t\t请输入机票数(张):");
fflush(stdin);
scanf("%d", &air[i].count);
printf("\n\t\t\t请输入票价(元):");
fflush(stdin);
scanf("%d", &air[i].money);
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
printf("\n\t\t\t您输入的航班信息为:");
printf("\n\n\t\t\t航班号:%s", air[i].num);
printf("\n\n\t\t\t起始站:%s", air[i].start);
printf("\n\n\t\t\t终点站:%s", air[i].finish);
printf("\n\n\t\t\t起飞日期:%d年%d月%d日", air[i].day.year, air[i].day.month, air[i].day.day);
printf("\n\n\t\t\t起飞时间:%d点%d分", air[i].hour.hour, air[i].hour.minute);
printf("\n\n\t\t\t票数:%d", air[i].count);
printf("\n\n\t\t\t票价:%d", air[i].money);
loop2: printf("\n\n\t\t\t是否确认(Y/N)?");
fflush(stdin);
scanf("%c", &n);
switch (n)
{
case 'y':
case 'Y':
loop3: printf("\n\t\t\t第 %d 条航班信息已经输入完毕是否继续(Y/N)?", a + 1);
// printf("%d,%d",i,a);
fflush(stdin);
scanf("%c", &n);
switch (n)
{
case 'y':
case 'Y':
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
break;
case 'n':
case 'N':
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
goto loop4;
default:
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\n\n\n\t\t\t您的输入有误,请重新输入!!\n\n");
goto loop3;
}
break;
case 'n':
case 'N':
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
goto loop1;
break;
default:
system("cls");
if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\n\n\n\t\t\t您的输入有误,请重新输入!!");
goto loop2;
}
}
if (i==N)
{
goto loop0;
}
loop4: if ((f = fopen("air.dat", "w+b")) == NULL)
{
printf("File Can't be find!\n");
}
else
{
fflush(stdin);
fwrite(&air, sizeof(air), 1, f);
}
fclose(f);
if ((f=fopen("a.dat","r+"))==NULL)
{
printf("File Can't be find!\n");
}
else
{
a++;
fwrite(&a,sizeof(a),1,f);
}
fclose(f);
loop5:;
}
// // // // // // // // // // 删除航班信息 // // // // // // // // // //
void delair(emploe em1[10], int k)
{
FILE *f;
int i = 0, j = 0, a = 0, m = 0;
char hangban[5],n;
airplane air[N];
if ((f=fopen("a.dat","r"))==NULL)
{
printf("File Can't be find!\n");
}
else
{
fread(&a,sizeof(a),1,f);
}
fclose(f);
if ((f=fopen("air.dat","r"))==NULL) //从文件air.dat中读入数据
{
printf("File Can't be find!\n");
}
else
{
fread(&air,sizeof(air),1,f);
}
fclose(f);
// printf("%s,%s,%s",air[9].num,air[9].start,air[9].finish);
printf("\n\t\t\t\t\t\t\t\t\t管理员");
printf("\n________________________________________________________________________________");
printf("\n\t\t\t\t现有航班信息如下:");
printf("\n\n\t航班号\t起始站\t终点站\t 起飞时间\t\t剩余票数 票价\n\n");
for (i=0;i<a;i++)
{
if (strlen(air[i].num)>10)
{
break;
}
printf("\t %s\t %s\t %s\t%d年%d月%d日 %d点%d分\t %d\t %d\t",air[i].num,air[i].start,air[i].finish,air[i].day.year,air[i].day.month,air[i].day.day,air[i].hour.hour,air[i].hour.minute,air[i].count,air[i].money);
}
printf("\n\t\t\t请输入您要删除的航班号:");
fflush(stdin);
gets(hangban);
for (i=0;i<a;i++)
{
if (strcmp(hangban,air[i].num)==0)
{
goto loop2;
}
}
system("cls");
printf("\n\t\t\t\t\t\t\t\t\t管理员");
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\n\n\n\t\t\t没有找到您输入的航班");
printf("\n\n\n\n\n\n\n\n\n\n\n================================================================================");
printf("\n\t\t\t\t(按任意键返回)");
fflush(stdin);
n=getch();
goto loop4;
loop2:printf("\n\t\t\t您确定要删除 %s 次航班(Y/N)?",air[i].num);
// printf("%d,%d",i,a);
fflush(stdin);
scanf("%c",&n);
switch(n)
{
case 'y':
case 'Y':
system("cls");
printf("\n\t\t\t\t\t\t\t\t\t管理员");
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\n\n\n\n\t\t\t航班 %s 已成功删除!!",air[i].num);
if ((f = fopen("air.dat", "w+b")) == NULL)
{
printf("File Can't be find!\n");
}
else
{
for (m=i;m<a;m++)
{
strcpy(air[m].num,air[m+1].num);
strcpy(air[m].start,air[m+1].start);
strcpy(air[m].finish,air[m+1].finish);
air[m].day.year=air[m+1].day.year;
air[m].day.month=air[m+1].day.month;
air[m].day.day=air[m+1].day.day;
air[m].hour.hour=air[m+1].hour.hour;
air[m].hour.minute=air[m+1].hour.minute;
air[m].count=air[m+1].count;
air[m].money=air[m+1].money;
}
fwrite(&air, sizeof(air),1 ,f);
}
fclose(f);
if ((f=fopen("a.dat","r+"))==NULL)
{
printf("File Can't be find!\n");
}
else
{
a--;
fwrite(&a,sizeof(a),1,f);
}
fclose(f);
printf("\n\n\n\n\n\n\n\n\n\n================================================================================");
printf("\n\t\t\t\t(按任意键返回)");
fflush(stdin);
n=getch();
break;
case 'n':
case 'N':
goto loop4;
break;
default:
system("cls");
printf("\n\t\t\t\t\t\t\t\t\t管理员");
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\n\n\n\t\t\t您的输入错误,请重新输入!!");
printf("\n\n\n\n\n\n\n\n\n\n\n================================================================================");
printf("\n\t\t\t\t(按任意键返回)");
fflush(stdin);
n=getch();
system("cls");
printf("\n\t\t\t\t\t\t\t\t\t管理员");
printf("\n________________________________________________________________________________");
goto loop2;
}
loop4:;
}
// // // // // // // // // // 查询航班信息 // // // // // // // // // //
void output(emploe em1[10], int k)
{
FILE *f;
int i = 0, j = 0, n = -1;
airplane air[N], p;
loop1: if (em1[k].state == 0)
{
printf("\n\t\t\t\t\t\t\t\t\t管理员");
}
else
{
printf("\n\t\t\t\t\t\t\t\t\t员工");
}
printf("\n________________________________________________________________________________");
printf("\n\n\n\n\t\t请输入您要查询的方式:");
printf("\n\n\n\t\t1,航班号");
printf("\n\n\t\t2,目的地");
printf("\n\n\t\t3,起飞时间");
printf("\n\n\t\t0,返回\n");
printf("\n\n\n\n================================================================================");
n = -1;
fflush(stdin);
scanf("%d", &n);
if ((f = fopen("air.dat", "r")) == NULL)
{
printf("File Can't be find!\n");
}
else
{
fread(&air, sizeof(air), 1, f);
}
fclose(f);
switch (n)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -