下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 数据结构 数制转换实验报告

数据结构 数制转换实验报告.doc

数据结构 数制转换实验报告

mandy贝北
2017-11-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《数据结构 数制转换实验报告doc》,可适用于高等教育领域

数据结构数制转换实验报告题目:数制转换班级:***姓名:***学号:指导教师:**完成日期:年月日一、需求分析、程序所实现的功能程序通过对栈的应用实现了将一个十进制整数向R进制数的转换。、程序的输入包含输入的数据格式和说明程序运行时输入任意十进制整数。对于转换进制R的值则应为:、、、。、程序的输出程序输出的形式输出为转换成的R进制整数。二、设计内容、说明本程序中所有用到的数据及其数据结构的定义及其基本操作的定义)定义栈的顺序存储结构typedefstruct{int*baseint*topintstacksize}SqStack栈的顺序存储表示)栈的初始化intInitStack(SqStackS))判断一个栈是否为空intStackEmpty(SqStackS))入栈操作intPush(SqStackS,inte))出栈操作intPop(SqStackS,inte))数制转换函数voidconversion(SqStackS,intR,intN,inte))判断是否输入正确intNinputlegality()intRinputlegality())主函数voidmain()、给出注释详细的源程序及其设计思想的描述#include<stdioh>#include<stdlibh>#include<malloch>#defineSTACKINITSIZE#defineSTACKINCREMENT#defineTRUE#defineFALSE#defineOK#defineERROR#defineOVERFLOWtypedefstruct{int*baseint*topintstacksize}SqStack栈的顺序存储表示intN定义全局变量N表示将要转换为R进制的十进制数intR定义全局变量R,表示进制数RintInitStack(SqStackS){Sbase=(int*)malloc(STACKINITSIZE*sizeof(int))if(!Sbase)exit()Stop=SbaseSstacksize=STACKINITSIZEreturnOK}栈的初始化intStackEmpty(SqStackS){if(Stop==Sbase)returnTRUEelsereturnFALSE}判断栈是否为空intPush(SqStackS,inte){if(StopSbase>=Sstacksize){Sbase=(int*)realloc(Sbase,(SstacksizeSTACKINCREMENT)*sizeof(int))if(!Sbase)exit(OVERFLOW)Stop=SbaseSstacksizeSstacksize=STACKINCREMENT}*Stop=ereturnOK}进栈操作intPop(SqStackS,inte){if(Stop==Sbase)returnERRORe=*StopreturnOK}出栈操作voidconversion(SqStackS,intR,intN,inte){while(N){Push(S,NR)N=NR}while(!StackEmpty(S)){Pop(S,e)if(e<){printf("d",e)}else{e=eprintf("cn",e)}}printf("n")}数制转换函数intNinputlegality(){charstr数组str存放输入的字符以便判断输入是否有误intigets(str)for(i=stri!=''i){if((stri>)||(stri<)){return()break}else{N=atoi(str)输入无误时字符数组转换为十进制数Nreturn()}}}判断十进制数N输入是否合法intRinputlegality(){charstrintigets(str)for(i=stri!=''i){if((stri>)||(stri<)){return()break}else{R=atoi(str)输入无误时字符数组转换为进制数Rreturn()}}}判断进制数r输入是否合法voidmain(){inte,p,qSqStackSInitStack(S)m:printf("请输入十进制整数N:")p=Ninputlegality()if(p==){printf("输入有误n")gotom}保证输入数据合法n:printf("请输入将要转换为的进制数R:")q=Rinputlegality()if(q==){printf("输入有误n")goton}保证输入数据合法printf("d由十进制转换为d进制数为:",N,R)conversion(S,R,N,e)}主函数、画出函数之间的调用关系图voidmain()Ninputlegality()Rinputlegality()conversion(S,R,N,e)initStack(s)push()stackempty()pop()三、测试结果列出你的测试结果包括输入和输出。注意测试数据应该完整和严格至少给出组测试结果(含合法数据与非法数据)。第一组:合法输入输入十进制将转换为进制数第二组:输入错误比如输入十进制数N时误输入fhts程序提示重新输入N输入正确后下一步输入R时若再输入错误程序仍提示重新输入直至输入完全正确。四、附录列出源程序的文件名清单。并将带注释的源程序及可执行文件形成压缩文件。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/8

数据结构 数制转换实验报告

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利