c++中为啥我的链表创建成功了但在后面的函数中读不出链表内的内容
voidb::input(){a*p,*p1,*head;p=head=newa;p->amount=0;p->changjia[20]='0';p->goods[20]...
void b::input()
{ a *p,*p1,*head;
p=head=new a;
p->amount=0;
p->changjia[20]='0';
p->goods[20]='0';
p->pinpai[20]='0';
p->price=0.0;
cout<<"请输入您要输入的商品的数量!"<<endl;
int i;
cin>>i;
cout<<"请选择输入类型!"<<endl;
cout<<"1.食品类"<<endl<<"2.化妆品类"<<endl<<"3.日用品类"<<endl<<"4.饮料类"<<endl;
while((i--)!=0)
{
p1=new a;
p1->input();
p->next=p1;
p=p1;
if((getch())=='0')
{ cout<<"已结束,请继续下一个功能!"<<endl;
break;}
}
cout<<"输入完毕!"<<endl;
p1->next=NULL;
p=head->next;
while(p!=NULL) //链表内的内容;
{p->look();
p=p->next;
}
return ;
}
void satisticprice()
{
stu *p,*p1,*head;b *gt; //不能将链表链表内东西读出
p1=head->next;
p=p->head;
while(p!=NULL)
{ while(p1!=NULL)
{
if(p->price<p1->price)
gt->swap(p,p1);
p1=p1->next;
} // 有 // 问题
p=p->next; // 问题
}
p=head->next;
while(p!=NULL)
{
p->look();
p=p->next;
}
}
void b::satistic()
{ a *p,*head;
p=head->next;
cout<<"1.按价钱统计\t2.按商品数量统计"<<endl;
char n;
cin>>n;
switch(n)
{
case '1': satisticprice();break;
case '2': satisticamount();break;
default: cout<<"输入错误!"<<endl;
}
}
// 我的链表创建成功了,但就是不能在后续的函数中使用 ,我感觉少了传入机制,但就是不知道咋整; 展开
{ a *p,*p1,*head;
p=head=new a;
p->amount=0;
p->changjia[20]='0';
p->goods[20]='0';
p->pinpai[20]='0';
p->price=0.0;
cout<<"请输入您要输入的商品的数量!"<<endl;
int i;
cin>>i;
cout<<"请选择输入类型!"<<endl;
cout<<"1.食品类"<<endl<<"2.化妆品类"<<endl<<"3.日用品类"<<endl<<"4.饮料类"<<endl;
while((i--)!=0)
{
p1=new a;
p1->input();
p->next=p1;
p=p1;
if((getch())=='0')
{ cout<<"已结束,请继续下一个功能!"<<endl;
break;}
}
cout<<"输入完毕!"<<endl;
p1->next=NULL;
p=head->next;
while(p!=NULL) //链表内的内容;
{p->look();
p=p->next;
}
return ;
}
void satisticprice()
{
stu *p,*p1,*head;b *gt; //不能将链表链表内东西读出
p1=head->next;
p=p->head;
while(p!=NULL)
{ while(p1!=NULL)
{
if(p->price<p1->price)
gt->swap(p,p1);
p1=p1->next;
} // 有 // 问题
p=p->next; // 问题
}
p=head->next;
while(p!=NULL)
{
p->look();
p=p->next;
}
}
void b::satistic()
{ a *p,*head;
p=head->next;
cout<<"1.按价钱统计\t2.按商品数量统计"<<endl;
char n;
cin>>n;
switch(n)
{
case '1': satisticprice();break;
case '2': satisticamount();break;
default: cout<<"输入错误!"<<endl;
}
}
// 我的链表创建成功了,但就是不能在后续的函数中使用 ,我感觉少了传入机制,但就是不知道咋整; 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询