进制转化(栈应用)

来源:互联网 发布:python执行cmd命令行 编辑:程序博客网 时间:2024/06/05 14:13
#include<iostream>
using namespace std;
class Stack
{
public:
int maxSize;
int top;
int *st;
public:
Stack()
{
st=new int[100];
top=-1;
maxSize=100;
}
bool Push(const int n)
{
top+=1;
st[top]=n;
return true;
}
bool Pop(int &item)
{
item=st[top];
top--;
return true;
}


};
int main()
{
Stack sk;
cout<<"输入要转化的十进制数:"<<endl;
int number;
cin>>number;
cout<<"输入要转化的进制:"<<endl;
int ruler;
cin>>ruler;
while(number>=ruler)
{
int remainder;
remainder=number%ruler;
if(remainder>=10)
{
remainder=remainder-10+65;
}


sk.Push(remainder);
number=number/ruler;
}
sk.Push(number);
cout<<"转化成的数为:"<<endl;
int item=0;
while(sk.top+1)
{
sk.Pop(item);
if(item>=65)
cout<<(char)item;
else
cout<<item;
}
system("pause");
return 0;
}
0 0
原创粉丝点击