题目是要实现进制转换,各函数已定义
template<class type>
void DSeqStack<type>::convertion()
{
int s,n;
cout<<"输入一个需要转换的数据:"<<endl;
cin>>s;
cout<<"输入一个需要转换成的进制:"<<endl;
cin>>n;
while(s!=0)
{
Push(s%n);
s=s/n;
}
cout<<"数据转换成"<<n<<"进制后为:"<<endl;
while(!isEmpty())
cout<<Pop();
cout<<endl;
/*cout<<"数据转换成"<<n<<"进制后为:"<<Pop()<<endl;*/
}
void main()
{
DSeqStack<int> stack(10);
stack.convertion();
}
已经限定s!=0了,栈就一定不为空,为什么还需要while(!isEmpty),而且去掉while(!isEmpty)就只输出一个数了
慕姐8265434
慕沐林林