?? datatype.c
字號(hào):
#include "DATATYPE.H"
void Add_Flight(flight pflight[])
{
flight fl;
char ch = 'y';
int i = 0;
for (; i < 40; i++)
{
if (pflight[i].f_flight_num == -1)break;
}
if (i == 40)
{
printf("航班已滿,無法操作!\n");
return ;
}
while ((ch == 'y' || ch == 'Y') && i < 40)
{
printf("航班始點(diǎn):\n");
scanf("%s", pflight[i].f_from);
printf("航班終點(diǎn)>:\n");
scanf("%s", pflight[i].f_to);
printf("途經(jīng):\n");
scanf("%s", pflight[i].f_pass);
printf("航班編號(hào):\n");
scanf("%ld", &pflight[i].f_flight_num);
printf("滿員人數(shù):\n");
scanf("%d", &pflight[i].f_people);
pflight[i].f_seat = pflight[i].f_people;
printf("%d", pflight[i].f_seat);
getchar();
printf("是否滿員(y/n):\n");
pflight[i].f_full = getchar();
printf ("機(jī)票價(jià)格:\n");
scanf("%f", &pflight[i].f_ticket_pri);
getchar();
printf("%.2f", pflight[i].f_ticket_pri);
i++;
printf("是否繼續(xù)(y/n)?\n");
ch = getchar();
}
return ;
}
void Del_Flight(flight pflight[])
{
int flight_num;
int i;
char tag = 'n';
printf("輸入要?jiǎng)h除的航班編號(hào):\n");
scanf("%ld", &flight_num);
for (i = 0; i < 40; i++)
{
if (pflight[i].f_flight_num == flight_num)
{
pflight[i].f_flight_num = -1;
tag = 'y';
printf("刪除成功!\n");
break;
}
}
if (i == 40)
{
printf("要?jiǎng)h除的航班不存在!\n");
}
if (tag == 'n')
{
printf("刪除操作失敗!\n");
return ;
}
return ;
}
void Read_Flight(flight pflight[])
{
int i;
FILE *fp;
if ((fp = fopen("flight.dat","rb")) == NULL)
{
printf("打開文件有誤!");
exit(0);
}
for (i = 0; i < 40; i++)
fread(&pflight[i], sizeof(struct _flight), 1, fp);
return ;
}
void Add_Passenger(pa_node pa)
{
char ch = 'y';
pa_node pb,pc;
pc = pa;
for (; pc->next== NULL; pc=pc->next)
{
pb =(pa_node)malloc(sizeof(struct _passenger_));
printf("輸入姓名:\n");
scanf("%s", pb->_pnode.p_name);
printf("%s", pb->_pnode.p_name);
printf("請(qǐng)您輸入證件號(hào):\n");
scanf("%s", pb->_pnode.p_id);
printf("輸入住址:\n");
scanf("%s", pb->_pnode.p_address);
pb->_pnode.p_ticket_cou=0;
pc->next = pb;
pc = pb;
break;
}
pc->next = NULL;
return ;
}
void Del_Passenger(pa_node pa)
{
pa_node pb, pc;
if (pa->next == NULL)
{
printf("沒有乘客,無法刪除!\n");
return ;
}
}
void Read_Passenger(pa_node pa)
{
FILE *fp;
pa_node pb;
passenger pc;
int n;
if ((fp = fopen("passenger.dat", "rb")) == NULL)
{
printf("打開文件有誤!\n");
pa->next == NULL;
exit(0);
}
fread(&n, sizeof(int), 1, fp);
for (; n>0; n--)
{
fread(&pc, sizeof(struct _passenger), 1, fp);
pb=(pa_node)malloc(sizeof(struct _passenger_));
pb->_pnode=pc;
pb->next=pa->next;
pa->next=pb;
}
fclose(fp);
return ;
}
int Getpacount(pa_node pa)
{
int n=0;
pa_node pb;
pb=pa->next;
while (pb!=NULL)
{
n++;
pb=pb->next;
}
return n;
}
void Read(flight pflight[], pa_node pa)
{
Read_Flight(pflight);
Read_Passenger(pa);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -