qq_36204267 2016-10-15 07:42 采纳率: 50%
浏览 936
已采纳

我想知道错在哪了,帮忙看看,已经改了好长时间了

#include
using namespace std;
typedef struct linknode
{
int data;
struct linknode *next;
struct node *top;
}LiStack;

void showmenu();
void InitStack(LiStack *&s);
void DestroyStack(LiStack *&s);
bool StackEmpty(LiStack *&s);
void Push(LiStack *&s);
void Pop(LiStack *&s);
bool GetTop(LiStack *s);
int main()
{int select;
LiStack *s;
char ok='y';
while(ok=='y')
{
showmenu();
cout<<"请选择操作(1-7),选0退出系统"< cin>>select;
switch(select)
{

   case 1:InitStack(s);break;
   case 2:DestroyStack(s);break;
   case 3:StackEmpty(s);break;

case 4:Push(s);break;
case 5:Pop(s);break;
case 6:GetTop(s);break;
default:cout<<"输入错 ";
}
cout<<"是否继续(y/n)";
cin>>ok;
}
return 0;
}
void showmenu()
{
cout<<"菜单"< cout cout cout cout cout cout }
void InitStack(LiStack *&s)//----------------初始化栈
{s=(LiStack *)malloc(sizeof(LiStack));
s->top=NULL;
}
void DestroyStack(LiStack *&s)//-----------销毁栈
{LiStack *p=s,*q=s->next;
while(q!=NULL)
{
p=q;
q=p->next;
free(p);
}}
bool StackEmpty(LiStack *s) //-----------------判断栈空
{return(s->next==NULL);
}
void Push(LiStack *&s,int e) //-------------进栈
{LiStack *p;
p=(LiStack *)malloc(sizeof(LiStack));
e=p->data;
cout<<"栈内容为:"< while(p=NULL)
{cin>>p->data;
p=p->next;}
cout< void Pop(LiStack *&s)//------------出栈
{struct linknode *p;
if(s->top==NULL)
cout<<"此栈为空"< else{
p=s->next;
cout<<"栈内容为:"< while(p!=NULL)
{coutdata;
p=p->next;}
}
free(p);}
bool GetTop(LiStack *s) //-----------取栈顶
{int e;
if(s->next==NULL)
return false;
else {e=s->next->data;
return true;}
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-10-15 16:18
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应