数据结构实验报告数值转换数据结构实验报告数值转换
忻州师范学院计算机科学与技术系
实验报告
实验名称 进制数转换
专业班级 计算机科学与技术1102 姓名 高海珍 学号 201108111084
指导教师 胡志军 成绩 日期 2012- 10 - 12
一、实验目的
1. 理解栈的定义、特点,逻辑结构和存储结构,熟练掌握顺序栈的实现方法 。
2. 熟练掌握简单的演示菜单与人机交互设计方法。
二、实验内容
1(实现栈的如下基本操作:init ,push , pop, empty, full。
2. 利用栈的基本操作实现数制转换,能...
数据结构实验报告数值转换
忻州师范学院计算机科学与技术系
实验报告
实验名称 进制数转换
专业班级 计算机科学与技术1102 姓名 高海珍 学号 201108111084
指导教师 胡志军 成绩 日期 2012- 10 - 12
一、实验目的
1. 理解栈的定义、特点,逻辑结构和存储结构,熟练掌握顺序栈的实现方法 。
2. 熟练掌握简单的演示菜单与人机交互设计方法。
二、实验内容
1(实现栈的如下基本操作:init ,push , pop, empty, full。
2. 利用栈的基本操作实现数制转换,能把任意输入的十进制整数按用户要求转化为2进制或8进制或16进制形式表示。
三、实验要求
1(试描述栈ADT。
2. 用顺序存储结构实现栈的基本操作:init, push, pop, empty, full。
3. 利用栈的基本操作完成题2,要能向用户提供选择界面(选择要转换成哪种进制数的界面)。
四、实验步骤
1(需求分析
本演示程序用C语言编写,制作一个数值转换器用来实现十六进制,八进制,二进制的转换。
(1)输入的形式和输入值的范围:提供菜单选择操作项目数字编号,从键盘输入待操
作的编号。
(2)输出的形式和输出值的范围:按选择在显示器上输出转换后的数。
(3)测试数据及预期结果:
输入一个数 67,进行十六进制转换后为43;
输入一个数 56,进行八进制转换后为70;
输入一个数 8,进行八进制转换后为1000;
2(概要设计
为了实现上述程序功能,需要定义线性表的抽象数据类型:
ADT stack{
数据对象:D={ D={a|a?ElemSet,i=0,1,2,…,n,n?0} ii
数据关系:R1={
|a,a?D,i=2,...,n} i-1ii-1i
利用
void init(Stack *s)
Empty(stack *s)
Push(stack *s)
Pop(stack *s)
这些栈的基本操作实现对十六进制,八进制,二进制的转换。
3. 详细设计
void init(struct stack *s){
s->top=-1;
}
int empty(struct stack *s){
if(s->top==-1)
return 1;
else
return 0;
}
void push(struct stack *s,int i){
if(s->top==MAXSIZE-1){
printf("Stack is full\n");
return;
}
s->top++;
s->data[s->top]=i;
}
int pop(struct stack *s){
if(empty(s)){
printf("stack is empty");
return -1;
}
return(s->data[s->top--]);
}
void trans();
Void eight();
Void two();Int scan
主数通过对这几个子函数的调用实现对输入数的进制转换。
此程序包含8个函数
1.栈的初始化;
2.判断站是否为空;
3.元素的进栈;
4.元素的出栈;
5.十六进制的转换;
6.八进制的转换;
7.二进制的转换;
8.菜单显示。
4(调试分析( 要写出以下四点,重点是第3 点 )
1)分析算法的总体结构,分清程序中各部分应实现的功能;
2)调试方法通常有二种:总体调试、分块调试。你主要采用哪种调试方法,
总体调试:把算法组装成单个程序,按C程序结构分层检查调试;
分块调试:把算法分拆成几个功能模块,按C程序结构标准分模块调试;
3)错误跟踪有两种方法:错误信息排查法、执行路线跟踪法。
错误信息排查法:根据错误信息进行分类排查,要求分析者对C的错误代码要有足
够的了解和认识,有经验的程序员多用此法。
执行路线跟踪法:变量分析法(跟踪变量的值)、插入标签法(插入输出标签),
这种方法适合初学者。
4)调试分析不宜面面俱到,具体写出关键问题就行。
5(使用说明
程序名为进制的转换。环境为c++,通过菜单显示进行操作:
6(测试结果
菜单显示:
按1进行十六进制的转换;
按2进行八进制的转换;
按3进行二进制的转换;
如下显示:
五、实验(调试和运行程序过程中产生的问题及采取的措施;对算法的程序的讨论、分析,改进设想以及其它经验教训;对实验方式、组织、设备、题目的意见和建议等) 1.通过此次实验更加熟练的掌握了对栈的基本操作,更好的将数进行了十六进制,八进制,
二进制的转化。
2. 要好好的学习c语言。
3.调试的时候要分块调试,效果比较好。
附源程序:
本文档为【数据结构实验报告数值转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。