c++代码用栈实现数制转换

求一个完整的c++程序代码,完成十进制数转换成二进制数,用栈来实现
2026年09月28日 08:53
有2个网友回答
网友(1):

#include "stdlib.h"
#include
#define MAX 256
typedef int DATA,*lpDATA;
class CStock
{
lpDATA stock;
int index;
public:
CStock()
{
stock = new DATA[MAX];
index = 0;
}
~CStock()
{
delete stock;
}
bool push(DATA node)
{
if(index<0 || index>=MAX)
return false;
*(stock+index) = node;
index++;

return true;
}
bool pop(DATA &node)
{
if(index>MAX || index<1)
return false;
index --;
node = *(stock+index);

return true;
}
};
int main()
{
int dec;
CStock s;
printf("请输入一个十进制整数:");
scanf("%d",&dec);
while(dec>0)
{
s.push(dec%2);
dec/=2;
}

printf("转换成二进制数:");
DATA bin;
bool flag;
while(1)
{
flag = s.pop(bin);
if (flag)
printf("%d",bin);
else
break;
}

printf("\n");
system("pause");
return 0;
}

网友(2):

有C语言的