- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计福建农林大学-金山学院
PAGE 5
福建农林大学金山学院
课程设计报告
课程名称:
算法与数据结构课程设计
课程设计题目:
数制转换
姓 名:
陈华实
系:
信息与机电工程系
专 业:
计算机科学与技术
年 级:
2009
学 号:
指导教师:
陈小娥
职 称:
助教
2011年 6
福建农林大学金山学院课程设计结果评定
评语:
序号
评定标准
分值
评定结果
1
课程设计报告符合规范,条理清晰,重点突出
20%
2
程序实现设计方案,软件可靠性好
40%
3
课程设计有自己的收获、体会、感受,等等
15%
4
能够按照要求演示课程设计
15%
5
有一定的创新性,难易程度
10%
合计
成绩:
指导教师签字:
任务下达日期:2010年 月 日
评定日期:
目 录
1设计任务………………………………………………………………………1
2设计要求…………………………………………………………………1
3设计方案………………………………………………………… …1
4 设计内容………………… … … …… … …… …… ………… ……… 1
5 实验结果 ……………………………………………………………………… 2
6总结……………………………………………………………………………… 3
7附录……………………………………………………………………………… 3
数制转换
1.设计任务
主要利用c++语言设计开发一个数制转换器,至少具有如下功能:输入一种数的数据及数制,输出这个数的其他数制表示,要求包括二、八、十和十六进制。
2.设计要求
1、培养学生应用面向对象程序设计设计方法及思想解决实际问题的能力。
2、培养学生掌握使用面向对象程序设计语言C++和面向对象开发平台Visual C++。
3、培养学生调查研究,查阅技术文献、资料、手册以及编写技术文献的能力。
本课程设计要实现的主要功能如下:
1、对给字一个M进制的数据x,求出此数x的10进制值(用MD表示);
2、实现对x向任意的一个非M进制的数的转换;
3、至少用两种方法实现上述要求(用栈解决,用数组解决,其它方法解决)。
3.设计方案
算法思想:
利用D2M()函数和M2D()函数是实现该问题的主要函数。
D2M()函数是实现十进制转换为其它进制的函数,它是将输入的十进制数x取首先对需要转换的进制M取余,然后再对其取整,接着通过递归调用D2M()函数依次将得到的整数部分依次先取余后取整,并将所得的余数依次存入一个数组中,然后逆向取出数组中的元素,即得到转换后的结果。而M2D()函数则是实现其他进制M转换为十进制,并将其转换为非M进制的数。M进制转十进制则是从该M进制数的最后一位开始算,依次列为第0、1、2…n位并分别乘以M的0、1、2…n次方,将得到的次方相加便得到对应的十进制数,再调用D2M()函数将其转换为非M进制的数。
.
4.设计内容
模块分化
1、 SqStack定义栈,说明base为栈底指针,top为栈顶指针,stacksize为栈容量;
2、 int InitStack(SqStack S)到int DestroyStack(SqStack S)六大模块分别表示构造一个空栈、用e表示栈元素、插入元素、删除元素、判断栈是否为空以及摧毁栈;
3、 SqStack S是指定义栈S;
4、 D2M(int a,int b)的功能是将十进制数转换成M进制的函数;
5、 M2D()的功能是M进制转换为十进制的函数;
6、 void main()是主函数。其功能是输入需要测试的数据以及需要转换的进制,并在特定情形下调用D2M()函数和M2D()函数,而且实现M进制数向任意非M进制数的转换。
数据类型定义如下:
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;
5.实验结果
十进制转换成二进制:
十进制转换成八进制:
十进制转换成十六进制:
二进制转换成十进制和八进制:
十六进制转换成十进制和八进制:
6.总结
通过这次课程设计,我对数据结构有了新的认识,我对C++语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,虽然在调试程序遇到了很多的困难,但是都一一去把它解决了。从中也让我知道了要学好这门 HYPERLINK /zuoye/kechengzhuanye/ \t _blank 课程
文档评论(0)