各位高手帮我看看下面的程序有什么问题(请大家帮帮小妹)
#include<iostream.h>
class listnode
{
public:
int data,num;
listnode *next;
};
class cirlinklist
{
public:
listnode *tail;
cirlinklist(void);
~cirlinklist(void);
void enterelement(int n);
void get(int m);
};
cirlinklist::cirlinklist(void)
{
tail=NULL;
}
cirlinklist::~cirlinklist(void)
{
if(tail==NULL)
delete tail;
}
void cirlinklist::enterelement(int n)
{
listnode *p;
int i;
for(i=1;i<=n;i++)
{
p=new listnode;
p->num=i;
cout<<"输入第"<<i<<"个密码";
cin>>p->data;
cout<<endl;
if(i==1)
{
tail=p;
p->next=p;
}
else
{ p->next=tail;
tail->next=p;
tail=p;
delete p;
}
}
}
void cirlinklist::get(int m)
{
if(tail==NULL)
cout<<"空,不能输出";
else{int k;
listnode *p,*q;
p=tail->next;
q=tail;
do{
for(k=1;k<m;k++)
{
p=p->next;
q=q->next;
}
m=p->data;
cout<<p->num;
q->next=p->next;
//listnode *p;
p=q->next;
}while(tail==NULL);
}
}
int main()
{
int m,n;
cout<<"输入元素的个数:";
cin>>n;
cout<<endl;
cout<<"输入开始的密码:";
cin>>m;
cirlinklist X;
X.enterelement(n);
X.get(m);
return 0;
}
这是我编的约瑟夫环的问题的C++;编异时说我最后一个花括号是非法字符;请大家帮帮小妹,因为很快就要交作业了,谢谢!