虽然航线加上了但是内容是乱码,输出全部航线信息的时候新输入的是乱码
int enter()//增加航班
{
//struct airline *Airline;
LINEINFO *q;//新航班结点指针的形参
lineinfo *p=start;
int m=1,t=1,i;
while(m!=0)
{
q=(LINEINFO *)malloc(sizeof(LINEINFO));
if(q==NULL)
return 0;
printf("请输入航班号:");
scanf("%s",q->air_Numer);
int s;
s=check(start,q->air_Numer);
if(s==0)
{
printf("该航班号已存在!");
continue;
}
printf("请输入飞行日期:");
scanf("%s",q->day);
printf("请输入终点站名:");
scanf("%s",q->terminal_name);
printf("请输入飞机号:");
scanf("%s",q->plane_Numer);
printf("请输入机票价格:");
scanf("%d",&q->ticket_price);
printf("请输入总位置:");
scanf("%d",&q->Sum_Ticket_Numer);
printf("请输入余票量:");
scanf("%d",&q->ticket_sur);
InitQueue(q->waitQueue);//初始化该航线的候补队列信息
q->next=p->next;
p->next=q;
printf("是否继续录入航线信息(输入除0外任意数字继续):");
scanf("%d",&m);
if(m!=0)
t++;
}
printf("终点站名\t航班号\t飞机号\t\t飞行日期\t\t\t航班票价\t总位置\t余票量");
for(i=0;idisplay(p);
p++;
}
return t;
}
如果没有先增加航线就直接输出全部航线的话会乱码,设置了一个t值来记录增加的航线数,但是t要是定义为0就会导致t在1里始终为0就实现不了增加航线,所以t一上来是个随机数,要先去增加航线给t确定值才能正常输出t,有没有什么办法不用输入新增航线也可以正常输出原有航线
void list(int t)//打印全部航线信息
{
lineinfo *info;
info=start;//指针对接赋值
int i;
printf("终点站名\t航班号\t飞机号\t\t飞行日期\t\t\t航班票价\t总位置\t余票量");
for(i=0; i<t+MAXSIZE; i++) //循环自增调用输出
display(info++);
printf("\n\n");
}