VC课程设计报告 进制转换设计报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC课程设计报告 进制转换设计报告

河北工业大学计算机软件技术基础(VC)课程设计报告 学院_______班级_______姓名_______学号_______成绩_______ 一、题目: 进制转换(08) 二、设计思路 1、总体设计 1)分析程序的功能: 总体为十进制到十六进制的转换:将某一十进制整数转换为十六进制,输出该十六进制数的各位数字之和,而后将这个十六进制数进行翻转(即逆序)后再次转换为十进制并输出。 2)系统总体结构: 系统由一个主函数构成,其中包括数据的输入,十进制到十六进制的转换成十六进制的输出,十六进制的逆序,十六进制转换成十进制。 2、各功能模块的设计: 在十进制到十六进制的转换过程中使用了商余法,通过对int型整数进行商余法计算,求得十六进制各位对应的数。 在十六进制的输出中,使用了if,else语句和switch语句进行判断输出,对于十六进制中各位上在0-9的数据直接输出,10-15的通过switch语句判断输出对应的ABCDEF。 在进行十六进制各位上的数进行运算求和,并输出十进制和时使用了for循环进行循环运算。 在进行十六进制各位逆序时用for循环使用开始存放十六进制的数组进行逆序输出。 在将新的十六进制转换成十进制的过程中,通过调用math.h中的pow函数采用计算的方法,十六进制转换成十进制。 3、设计中的主要困难及解决方案 在这部分论述设计中遇到的主要困难及解决方案。 1) 由于十六进制中10-15对应的分别是字母A-F,而在输出过程中直接将10-15转换为A-E较困难;因此,通过使用switch语句进行判断,对于不同十六进制的数字输出对应的字母。 2) 在十进制到十六进制的转换过程中,进行数据运算的取整取余运算,使用了int型,而int型的取值范围是0到2的23次方减一,而创新要求是大于int型的数据进行运算,不会解决。 4、你所设计的程序最终完成的功能 1)将读入的整数,转换到十六进制并输出; 计算十六进制下各位和的十进制值并输出; 将十六进制数据按照位置进行翻转,获得新的十六进制数据,然后转换成十进制值并输出。 2)准备的测试数据及运行结果 输入的十进制数是869579 请输入一个十进制数 869579 869579对应的十六进制数是D44CBH 各位上的和是44 逆序后得到的新的十六进制数是 BC44DH 逆序后的十六进制转换成十进制数是771149 三、程序清单 #include iostream.h #include math.h void main() { for(;;) { int i,s[100],y[100],b[100],a,sum=0,m=0,n; cout请输入一个十进制整数\t; cins[0]; //输入要处理的十进制整数 for(i=0;s[i]!=0;i++) //将十进制转换成十六进制(商余法) { s[i+1]=s[i]/16; //求商 y[i+1]=s[i]%16; //求余数 } y[i]=s[i-1]; a=i; couts[0]对应的十六进制数是; //输出对应的十六进制数 for(i=a;i=1;i--) { if(y[i]=0y[i]=9) //对应十六进制数在0~9的直接输出 couty[i]; else //对应十六进制数在10~15的通过判断转换成A到E的字母 { switch(y[i]) { case 10: coutA;break; case 11: coutB;break; case 12: coutC;break; case 13: coutD;break; case 14: coutE;break; case 15: coutF;break; } } } coutHendl; for(i=1;i=a;i++) //计算十六进制各位上的数字之和 sum+=y[i]; cout 各位上的和是sumendl; //输出十六进制各位上的数字之和 cout 逆序后得到的新的的十六进制数是 ; //将得到的十六进制逆序 for(i=1;i=a;i++) b[i]=y[a+1-i]; for(i=a;i=1;i--) { if(b[i]=0b[i]=9)

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档