incompatible types -自己找不到异常原因,请大家帮帮忙,多谢
incompatible types -自己找不到错误原因,请大家帮帮忙,谢谢!
我在做一个航班订票系统,使用链表存储结构
但是我在写函数的时候,总是出现以下的warning:
incompatible types - from 'struct Air_Ticket * ' to 'struct Air_Ticket * '
而且整个程序有40个这样的warning,都是一样的原因,但是我不明白为什么2个相同的变量不能赋值呀,请大家帮帮忙,谢谢!
程序部分代码:
Booker *Book_Ticket(Air_Ticket *Head) /*订票函数(增加乘客记录)*/
{
Booker *Head_book,*p,*p0;
Air_Ticket *pt,*pt0;
char sure;
char des_city[20];
time_t timer;
tm *ptrtime;
int i=0;
pt0=pt=Head;
pt=pt-> next;
pt0=pt0-> next;
p0=Head_book=(Booker *)malloc(LEN_BOOKER);
if(Head_book==NULL){printf( "内存分配错误!\n ");return 0;}
p0-> next=NULL;
getchar();
while(1)
{
system( "cls ");
pt=Head;
pt=pt-> next;
pt0=Head;
pt0=pt0-> next;
p=(Booker *)malloc(LEN_BOOKER);
if(p==NULL){printf( "内存分配失败!\n ");return 0;}
printf( "乘客姓名(20个字符以内,输入*退出): ");
gets(p-> name);
if(p-> name[0]== '* ')break;
timer=time(NULL);
ptrtime=localtime(&timer);
strcpy(p-> book_list_number,asctime(ptrtime));
printf( "证件号: ");
gets(p-> code);
printf( "目的地城市: ");
gets(des_city);
printf( "订票数量: ");
scanf( "%d ",&p-> book_number);
getchar();
printf( "订票航班号: ");
gets(p-> book_air_number);
while((strcmp(p-> book_air_number,pt-> Air_number))!=0&&pt-> next!=NULL)
{
pt=pt-> next;
}
if(pt-> next==NULL){printf( "该航班不存在,请按回车键重新输入 ");getchar();continue;}
else
{
if(p-> book_number <=pt-> Air_tik_number&&pt-> Air_tik_number!=0)
{
pt-> Air_tik_number=pt-> Air_tik_number-p-> book_number;
}
else{
if(pt-> Air_tik_number==0)
{
system( "cls ");
while(pt0-> next!=0)
{
if(strcmp(des_city,pt0-> Air_city)==0&&pt0-> Air_tik_number!=0)
Print__air(pt0);
pt0=pt0-> next;
}
printf( "该航班机票已经售完,可选择以上其他航班:\n\n ");
continue;
}
if(p-> book_number> pt-> Air_tik_number)
{
printf( "订票数量大于可购机票数量,请重新输入\n ");
continue;
}
}
}
system( "cls ");
printf( "------------\n ");
printf( "订票信息确认\n ");
printf( "------------\n ");
printf( "乘客姓名: ");
puts(p-> name);
printf( "\n\n ");
printf( "证件号: ");
puts(p-> code);
printf( "\n\n ");
printf( "订票数量: ");
printf( "%d\n\n ",p-> book_number);
printf( "--------\n ");
printf( "航班情况:\n ");
printf( "--------\n ");
Print__air(pt);
printf( "订单编号: ");
puts(p-> book_list_number);
printf( "\n ");
printf( "总价:%d元\n ",pt-> Air_price*p-> book_number);
我在做一个航班订票系统,使用链表存储结构
但是我在写函数的时候,总是出现以下的warning:
incompatible types - from 'struct Air_Ticket * ' to 'struct Air_Ticket * '
而且整个程序有40个这样的warning,都是一样的原因,但是我不明白为什么2个相同的变量不能赋值呀,请大家帮帮忙,谢谢!
程序部分代码:
Booker *Book_Ticket(Air_Ticket *Head) /*订票函数(增加乘客记录)*/
{
Booker *Head_book,*p,*p0;
Air_Ticket *pt,*pt0;
char sure;
char des_city[20];
time_t timer;
tm *ptrtime;
int i=0;
pt0=pt=Head;
pt=pt-> next;
pt0=pt0-> next;
p0=Head_book=(Booker *)malloc(LEN_BOOKER);
if(Head_book==NULL){printf( "内存分配错误!\n ");return 0;}
p0-> next=NULL;
getchar();
while(1)
{
system( "cls ");
pt=Head;
pt=pt-> next;
pt0=Head;
pt0=pt0-> next;
p=(Booker *)malloc(LEN_BOOKER);
if(p==NULL){printf( "内存分配失败!\n ");return 0;}
printf( "乘客姓名(20个字符以内,输入*退出): ");
gets(p-> name);
if(p-> name[0]== '* ')break;
timer=time(NULL);
ptrtime=localtime(&timer);
strcpy(p-> book_list_number,asctime(ptrtime));
printf( "证件号: ");
gets(p-> code);
printf( "目的地城市: ");
gets(des_city);
printf( "订票数量: ");
scanf( "%d ",&p-> book_number);
getchar();
printf( "订票航班号: ");
gets(p-> book_air_number);
while((strcmp(p-> book_air_number,pt-> Air_number))!=0&&pt-> next!=NULL)
{
pt=pt-> next;
}
if(pt-> next==NULL){printf( "该航班不存在,请按回车键重新输入 ");getchar();continue;}
else
{
if(p-> book_number <=pt-> Air_tik_number&&pt-> Air_tik_number!=0)
{
pt-> Air_tik_number=pt-> Air_tik_number-p-> book_number;
}
else{
if(pt-> Air_tik_number==0)
{
system( "cls ");
while(pt0-> next!=0)
{
if(strcmp(des_city,pt0-> Air_city)==0&&pt0-> Air_tik_number!=0)
Print__air(pt0);
pt0=pt0-> next;
}
printf( "该航班机票已经售完,可选择以上其他航班:\n\n ");
continue;
}
if(p-> book_number> pt-> Air_tik_number)
{
printf( "订票数量大于可购机票数量,请重新输入\n ");
continue;
}
}
}
system( "cls ");
printf( "------------\n ");
printf( "订票信息确认\n ");
printf( "------------\n ");
printf( "乘客姓名: ");
puts(p-> name);
printf( "\n\n ");
printf( "证件号: ");
puts(p-> code);
printf( "\n\n ");
printf( "订票数量: ");
printf( "%d\n\n ",p-> book_number);
printf( "--------\n ");
printf( "航班情况:\n ");
printf( "--------\n ");
Print__air(pt);
printf( "订单编号: ");
puts(p-> book_list_number);
printf( "\n ");
printf( "总价:%d元\n ",pt-> Air_price*p-> book_number);