数制转换课程设计模板.doc

上传人:F****n 文档编号:91022086 上传时间:2019-06-20 格式:DOCX 页数:15 大小:26.31KB
返回 下载 相关 举报
数制转换课程设计模板.doc_第1页
第1页 / 共15页
数制转换课程设计模板.doc_第2页
第2页 / 共15页
数制转换课程设计模板.doc_第3页
第3页 / 共15页
数制转换课程设计模板.doc_第4页
第4页 / 共15页
数制转换课程设计模板.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数制转换课程设计模板.doc》由会员分享,可在线阅读,更多相关《数制转换课程设计模板.doc(15页珍藏版)》请在金锄头文库上搜索。

1、数制转换课程设计模板篇一:数据结构数制转换课程设计数据结构进制装换课程设计课程:数据结构院系:计算机信息管理班级:信管二班学号:20XX27070221姓名:闫丽萍指导老师:段明义日期:1数制转换1. 需求分析任意给定一个M进制的数x ,实现如下要求1)求出此数x的10进制值(用MD表示)2)实现对x向任意的一个非M进制的数的转换。3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决)。2. 概要设计程序流程可以用以下流程图来刻画:A用数组实现 B用栈实现3. 详细设计A用数组实现该问题D2M 函数和M2D 函数是实现该问题的主要函数。D2M 函数是实现十进制转换为其

2、他进制的函数,它是将输入的十进制数x首先对需要转换的进制M取余,然后在对其取整,接着通过递归调用D2M 函数一次将得到的整数部分一次先取余后取整,并将所得的余数依次存入下一数组,然后逆向去除数组中的元素,即得到转换后的结果。而M2D 函数是实现其他进制M转换为十进制,并将其转换为非M进制。M进制转十进制则是从该M 进 2制数的最后一位开始运算,依次列为第0、1、2、.N位并分别乘以M的0、1、2、.N次方,将得到的次方相加便得到对应的十进制数,再调用D2M 函数将其转换为非M进制的数。B.用栈实现栈具有后进先出的性质,具体实现方法和数组的方法有很大联系,不再过多解释。4. 调试分析(1) 构造

3、栈的方法通过查阅书籍知道了。(2) 数组的递归调用查阅相关书籍了解了。(3) 为了让界面表达更清晰,多次调试完善了界面。5. 测试结果下面是我的测试函数及运行结果:A.数组测试结果34B栈实现测试结果5篇二:数据结构课程设计数制转换安徽农业大学经济技术学院课程设计题 目 名 称课 程 名 称 数 据 结 构学 生 姓 名 张东升 学 号 10538022系 、专 业 指 导 教 师 涂力静二0一一年 十二 月 十七 日数制转换问题一、问题描述任意给定一个M进制的数x,转换为其它任意进制的数据。二、基本要求、对给字一个M进制的数据x,求出此数x的10进制值;、实现对x向任意的一个非M进制的数的转

4、换;、至少用两种方法实现上述要求。三、测试数据初始输入的数据有:十进制数527和十六进制数1A2C9四、算法思想、用数组实现该问题:D2M 函数和M2D 函数是实现该问题的主要函数。 D2M 函数是实现十进制转换 为其它进制的函数,它是将输入的十进制数取首先对需要转换的进制M取余,然后再对其取整,接着通过递归调用D2M 函数依次将得到的整数部分依次先取余后取整,并将所得的余数依次存入一个数组中,然后逆向取出数组中的元素,即得到转换后的结果。而M2D 函数则是实现其他进制M转换为十进制,并将其转换为非M进制的数。M进制转十进制则是从该M进制数的最后一位开始算,依次列为第、位并分别乘以M的、次方,

5、将得到的次方相加便得到对应的十进制数,再调用D2M 函数将其转换为非M进制的数。、用栈实现该问题:同样是利用D2M 和M2D 两个函数实现。两个函数的思想同利用数组实现时相同。只是栈具有后进先出的性质,故其用Pop 取数较数组的逆向取数方便些。五、模块划分、用数组实现该问题: i,j,y,n,s,m,r,reminder,x是定义的全局变量,初始值都为; D2M是实现十进制数转换为M进制数的函数; M2D 是实现M进制数转换为十进制数的函数,并在其中调用D2M实现向非M进制数的转换; H2D是实现十六进制数转换为十进制数的函数,并在其中调用D2M实现向非十六进制数的转换; void main

6、是主函数,功能是给出测试的数据,并在特定条件下调用D2M函数和M2D 函数。 、用栈实现该问题: SqStack定义栈,说明base为栈底指针,top为栈顶指针,stacksize为栈容量; int InitStack到int DestroyStack六大模块分别表示构造一个空栈、用表示栈元素、插入元素、删除元素、判断栈是否为空以及摧毁栈; SqStack S是指定义栈S;D2M的功能是将十进制数转换成M进制的函数; M2D 的功能是M进制转换为十进制的函数;void main 是主函数。其功能是输入需要测试的数据以及需要转换的进制,并在特定情形下调用D2M 函数和M2D 函数,而且实现M进制

7、数向任意非M进制数的转换。六、数据结构、用数组实现该问题:使用简单一维数组int aN,int bN, int cN。 、用栈实现该问题:数据类型定义如下:typedef structint *base; int *top; int stacksize; SqStack;七、源程序源程序有两个,是用数组实现该问题的程序,而是用栈实现该问题的程序:文件#include #include #define N 1000int i,j,y,n,s;int m,r,reminder;int x;/全局变量默认初始化为0,不必再赋0了D2M /十进制数转换为其他进制数 int cN; i=0;remind

8、er=g%h; g=g/h; if ci=reminder+55; i+; else i+; if D2M; forifprintf; elseprintf;return 0;M2D /二进制和八进制数转换为十进制数,并这转换为其他进制数 int aN;printf;scanf;printf; forfor y+=pow*ai; /强制类型转换,以免造成数据丢失j+;printf;scanf;printf;printf; scanf;printf; D2M; return 0;H2D /十六进制数转换为十进制数,并转换为其他进制数 int bN;printf;scanf;printf;for

9、scanf; fory+=pow*bi;/强制类型转换,以免造成数据丢失j+; printf; printf;printf;scanf;printf; D2M; return 0;void main printf:); scanf;if/二进制和八进制转换成十进制 M2D;else if /十六进制转换成十进制 H2D;else if/十进制转换成其它进制 printf;scanf;printf:); scanf;printf; D2M;printf;文件 #include #include #include#include#define STACK_INIT_SIZE 100 /存储空间初始

10、分配量#define STACKINCREMENT 10 /存储空间分配增量int e,m,x,s,t;/x为要转换的十进制数,e 为临时用的的int型变量 int r,y,i,n;typedef struct篇三:微机原理课程设计_进制转换程序设计课程设计任务书学生姓名: 易杨专业班级: 电信 0802指导教师: 曾刚工作单位: 信息工程学院题 目:进制转换程序设计初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、程序实现二进制、十进制、十六进制之间的转换2、在命令提示下输入相应进制数,回车后进行转换3、输入错误时应声响报警并拒绝输入4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书时间安排:一周,其中2天程序设计,2天程序调试,1天完成课程设计报告书及答辩指导教师签名: 年月日 系主任(或责任教师)签名: 年月日目录摘要 . I 1 原理分析 . 1 2 程序设计流程 . 3 程序流程图 . 3 设计思路 . 4 3 程序设计 . 5 堆栈段数据段程序设计 . 5 主程序设计 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号