用栈解决十进制转换八进制为八进制的问题

利用栈实现十进制数数制转换成其他进制数
1.利用栈实现数制转换,要求实现以下功能:
a. 编写文件SqStack.h,定义栈类模板SqStack,以及其上的入栈、出栈、读栈顶元素、判断栈是否为空、清空栈及初始化等操作。
b. 编写一个算法void MultiBaseOutput (int N,int B)实现利用栈将一个十进制整数N转换为另一个等价的基为B的B进制数并输出到屏幕。
&&& 如果B为16,能输出A、B、C、D、E、F.例如十进制15应转化为16进制F。
c. 编写测试主函数。测试将一个十进制数30分别转化为二进制数、八进制数及十六进制数。
#include&Stack.h&&
#include&iostream&&
void MultiBaseOutput (int N,int B)&
&&& SqStack&char&ST(100);&
&&& int temp,l;&
&&& char T;&
&&& char t = 'A';&
&&& while(N)&
&&&&&&& temp = N%B;&
&&&&&&& if(temp & 9)&
&&&&&&& {&
&&&&&&&&&&& l = temp -10;&
&&&&&&&&&&& ST.push_stack(char(t+(temp -10)));&
&&&&&&& }&
&&&&&&& else&
&&&&&&& {&
&&&&&&&&&&& ST.push_stack(char(temp+'0'));&
&&&&&&& }&
&&&&&&& N/=B;&
&&& while(!ST.Empty())&
&&&&&&& ST.pop_stack(T);&
&&&&&&& cout&&T&&& &;&
int main()&
&&& int m =0,n=0;&
&&& cout&&&这是一个十进制数转化为二进制数、八进制数及十六进制数的演示程序.......................&&&&
&&& cout&&&请输入十进制数:&;&
&&& cin&&m;&
&&& cout&&&
&&& cout&&&请输入你想将十进制转换成的进制:&;&
&&& cin&&n;&
&&& cout&&&十进制的:&&&m&&&转换成&&&n&&&进制的数是:&;&
&&& MultiBaseOutput (m,n);&
&&& cout&&&
&&& return 0;&
/**************************头文件*************************/&
//Stack.h&
#include&iostream&&
template&class T&&
class SqStack&
&&& public:&
&&&&&&& SqStack();&
&&&&&&& SqStack(int size);&
&&&&&&& //SqStack(const SqStack&T& &);&
&&&&&&& //void operator=(const SqStack&T& &);&
&&&&&&& virtual ~SqStack();&
&&&&&&& int Length()&
&&&&&&& bool Empty()&
&&&&&&& void Clear();&
&&&&&&& void traverse(void (*visit)(T &));&
&&&&&&& T & top_stac()//去栈顶元素&
&&&&&&& void push_stack(const T &);//入栈&
&&&&&&& void pop_stack(T &e);//出栈&
&&&&&&& void init(int size);&
&&&&&&& void top_stack(T &e)&
&&&&&&& bool full()&
&&&&&&& {&
&&&&&&&&&&& return m_top&= m_&
&&&&&&& }&
&&& protected:&
&&&&&&& int m_&
&&&&&&& int m_&
&&&&&&& T *m_&
template&class T&&
SqStack&T&::SqStack()&
&&& m_top=0;&&
&&& m_size=100;&
&&& m_base=new T[m_size];&
template&class T&&
SqStack&T&::SqStack(int size)&
&&& m_top = 0;&
&&& m_base = new T[size];&
&&& m_size =&
template&class T&&
SqStack&T&::~SqStack()&
&&& if(m_base != NULL)&
&&& delete [] m_&
template&class T&&
int SqStack&T&::Length()const&
&&& return m_&
template&class T&&
bool SqStack&T&::Empty()const&
&&& return m_top==0;&
template&class T&&
void SqStack&T&::Clear()&
&&& m_top = 0;&
template&class T&&
void SqStack&T&::traverse(void (*visit) (T&))&
&&& for(int curposition=1;curposition&=length();curposition++)&
&&&&&&& (*visit)(m_base[curposition-1]);&
template&class T&&&
void SqStack&T&::push_stack(const T &e)&
&&& if(full()) cout&&&stack is full&;&
&&&&&&& m_base[m_top++]=e;&
template&class T&&
void SqStack&T&::top_stack(T &e)const&
&&& if(Empty())&
&&&&&&& cout&&&stack is empty&;&
&&&&&&& e=m_base[m_top-1];&
template&class T&&
void SqStack&T&::pop_stack(T &e)&
&&& if(Empty())&
&&&&&&& cout&&&stack is empty&;&
&&&&&&& e=m_base[m_top-1];&
&&&&&&& m_top--;&下面程序的功能是:利用栈将一个十进制正整数,转换为八进制。请将下面的程序填写完整。
14-04-16 &匿名提问&>&&>&&>&&>&用栈实现十进制转换为八进制
用栈实现十进制转换为八进制
上传大小:2KB
用数据结构中的栈实现十进制转换成八进制,
综合评分:0(0位用户评分)
所需积分:1
下载次数:2
审核通过送C币
创建者:fireblue1990
创建者:ljheee
课程推荐相关知识库
上传者其他资源上传者专辑
课程资源热门标签
VIP会员动态
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
用栈实现十进制转换为八进制
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
liumangtu216
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因: 上传我的文档
 下载
 收藏
所有文档均可在线免费浏览,需要的朋友请看好是否是自己需要的文档。所有资料来源于网络,仅供大家参考学习,版权归原作者。若有侵权,敬请及时告知,本人会及时删除侵权文档,竭诚全力为您服务!!!
 下载此文档
正在努力加载中...
数据结构中利用栈将十进制转换为八进制
下载积分:1004
内容提示:数据结构中利用栈将十进制转换为八进制
文档格式:DOC|
浏览次数:127|
上传日期: 19:58:14|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1004 积分
下载此文档
该用户还上传了这些文档
数据结构中利用栈将十进制转换为八进制
官方公共微信}

我要回帖

更多关于 十进制转为八进制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信