欢迎来到天天文库
浏览记录
ID:38509723
大小:383.00 KB
页数:27页
时间:2019-06-13
《数据结构课程设计:进制转换的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构课程设计设计说明书进制转换的实现学生姓名JUGG学号¥#··班级Dotaallstar——成绩优秀指导教师Puckdota科学与技术天灾元年3月14日IV数据结构课程设计评阅书题目进制转换的实现学生姓名JUGG学号@#%¥#¥%#指导教师评语及成绩成绩:教师签名:年月日答辩教师评语及成绩成绩:教师签名:年月日教研室意见总成绩:室主任签名:年月日DotaallstarIV课程设计任务书天灾元年—近卫戊年第二学期专业:ganker学号:sadofaiofo姓名:课程设计名称:数据结构课程设计设计题目:进制转换的实现完成期限:自天
2、灾元年年3月1日至近卫戊年年3月14日共2周设计依据、要求及主要内容(可另加附页):进制数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有:十进制,二进制、八进制和十六进制。十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一,例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。要求:(1)输入一个十进制数N,将它转换成R进制数输出,并可以进行逆转换。(2)输入数据包含多个测试实例,每个测试实例包含两个整数N
3、(32位整数)和R(2<=R<=16,R<>10)。(3)为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。(4)界面友好。指导教师(签字):教研室主任(签字):批准日期:年月日IV摘要由于数制计算和不同数制之间转换的需要,设计了一个10进制转换其它进制(36进制以内)及逆转换的软件,该软件具有简单的将10进制数转换成2、8、16进制数以及较复杂的高进制数的转换和逆转功能。本软件采用C语言编写以VC++作为软件开发环境,采用顺序栈存储方式来存储运算中的数位,借助栈
4、后进先出的特点,易于结果输出。操作简单,界面清晰,易于为用户所接受。关键词:进制转换;顺序栈;逆转换IV目录1课题描述12问题分析和任务定义24详细设计75程序编码86程序调试与测试137结果分析158总结16参考文献17221课题描述数制有很多种,在计算机中常用的数制有:十进制,二进制、八进制和十六进制。十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一,例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。更大一些的数制则扩展十
5、六进制未用的其他大写字母。顺序栈是顺序存储结构的栈,是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。同时附设栈顶指针top和栈基指针base,来方便栈内数据元素的存取和栈的扩充。222问题分析和任务定义问题分析:编写进制转换及其逆转,其算法过程恰好是结果的逆序,因此建立一个顺序栈将计算过程中得到的数位顺序进栈,则按出栈顺序就会输出对应的转换结果。逆转程序借助字符数组按顺序将每个数位转换成十进制数后求和,得到逆转结果例如:11转换成二进制数11%2=1;11/2=5;1入栈;5%2=1;5/2=2;1入栈;2%2=0;2/
6、2=0;0入栈;被除数不为0;按顺序出栈,得到结果为110;任务定义:1)画出流程图;2)任意建立一个容量为20个栈元素的空栈;3)将十进制数与要转进制先求余,将余数顺序入栈;4)阐明测试方法,写出完整的运行结果;5)撰写课程设计说明书。223逻辑设计(1)ADTStack{数据对象:D={ai
7、ai∈ElemSet,i=1,2,…,n,n≥0}数据关系:R1={
8、ai-1,ai∈D,i=2,…,n}基本操作:Inistack(&S)操作结果:构造一个空栈S。stackEmpty(&S)初始条件:栈S已存在。操作结
9、果:判断栈S是否为空,若为空,则返回1;否则返回0.push(&S,x)初始条件:栈S已存在。操作结果:插入元素x为新的栈顶元素。Pop(&S。&e)初始条件:栈S已存在且非空。操作结果:删除S的栈顶元素,并用y返回其值。}ADTStack22(2)主函数流程图如图3.2所示图3.1创建主函数流程图22(3)十进制转换其他进制数流程图如图3.3所示图3.2十进制转换其他进制数算法流程图22(4)其他进制数转换十进制数流程图如图3.4所示图3.3倒序输出算法流程图224详细设计本程序主要有三个算法:一、十进制整数转换其他进制数,其主要
10、思路为:例如:11转换成二进制数11%2=1;11/2=5;5%2=1;5/2=2;2%2=0;2/2=0;被除数不为0;转换结果为110;二、十进制小数转换其他进制数,其主要思路为:例如:0.125转换成二进制小数0.125*2=0
此文档下载收益归作者所有