数据结构—数制转换

数据结构—数制转换

ID:20667845

大小:119.00 KB

页数:5页

时间:2018-10-14

数据结构—数制转换_第1页
数据结构—数制转换_第2页
数据结构—数制转换_第3页
数据结构—数制转换_第4页
数据结构—数制转换_第5页
资源描述:

《数据结构—数制转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一栈的应用数制转换1.程序设计简介该程序以顺序栈为工具,实现十进制数到其他一至十六进制数的转换。设计中采用了一个循环,使得用户可重复进行数制转换。需转换的十进制数和要转换的数制均通过交互方式输入。因采用了顺序栈,程序中包含SqStack.h。2.源程序#include//cout,cin#include"process.h"//exit()#include"stdio.h"//EOF,NULL#include"SqStack.h"templatevoidconve

2、rt(Tn,Tm){//把十进制数n转换为m进制数Te;charc;SqStacks(10);cout<<"需转换的十进制数是:"<

3、t';}}catch(char*err){cout<>n;cout<<"输入需转换的数制:";cin>>m;convert(n,m);cout<<"继续吗(Y/N)?"<>ans;if(ans=='Y'

4、

5、

6、ans=='y')flag=1;else{flag=0;cout<<"程序运行结束,BYe-Bye!"<

7、ep2:从左到右扫描表达式,直至表达式结束;2.1:如果是左括号,入栈;取下一个字符;2.2:如果是右括号:2.2.1:与栈顶括号匹配,则出栈,消去一个左括号,取下一个字符;2.2.2:与栈顶括号不匹配,得到“不匹配”,结束;2.2.3:栈空,得到“不匹配”,结束;step3:若栈空,则表达式中括号匹配,否则不匹配。4.源程序#include//cout,cin#include"process.h"//exit()#include"stdio.h"//EOF,NULLstructNo

8、de{inttop;chardata[stacksize];};Nodenode;voidInitStack()//初始化栈{node.top=-1;}sqstack(intn){base=newT[m];if(base=NULL){cout<<"创栈失败";exit(1);}stacksize=m;top=-1;}}voidPush(charx){if(node.top==stacksize-1);node.top++;node.data[node.top]=x;}voidPop(char&x){if(n

9、ode.top==-1);x=node.data[node.top--];}for(i=0;*(p+i)!=''&&count!=0;i++){switch(*(p+i)){case'(':Push(*(p+i));break;case'[':Push(*(p+i));break;case')':{Pop(e);if(e!='(')count=0;};break;case']':{Pop(e);if(e!='[')count=0;};break;default:break;}}if(!StackEmpt

10、y()

11、

12、count==0){cout<<"不匹配"<>s;if(s=='y'

13、

14、s=='Y')gotoinput;elseif(s=='n'

15、

16、s=='N')cout<<"谢谢,再见!"<>s;if(s=='y'

17、

18、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。