河北工业大学计算机软件技术基础(VC)2012年课程设计报告
学院电信类班级 C1134班姓名相倩学号116027成绩_ ___
题目:
进制转换翻转小游戏
二、设计思路
1、总体设计
分析程序的功能
给定一个十进制数据,将其转换成十六进制的数据,十六进制的数据再进行翻转,翻转后再转换成十进制数据,十进制数据再逆序,作为下一周期的输入值,如此进行五个周期,输出五个周期内的数据。
系统总体结构:
此游戏分为五个周期,每一次周期可分为:输入的十进制转换为十六进制,十六进制的翻转,十六进制转换为十进制,十进制的翻转。每次循环由主函数控制。
模块
函数名称
主函数
Void main
十转换十六
Void shitoshiliu
十六的翻转
Void shiliufanzhuan
十六转换十
Int shiliutoshi
十的翻转
Int shifanzhuan
其中Void shitoshiliu Void shiliufanzhuan Int shiliutoshi Int shifanzhuan 均为调用函数,在主函数中被调用。
2、各功能模块的设计:
1)Void main 模块
这是一个五个周期的循环,所以主函数要能实现循环,首先用一个if函数来判断输入的数据是否符合要求,如果不符合要求,则要输出
“请重新输入:”。如果符合要求,就进行程序代码。程序是利用for函数来实现周期循环的。每次循环,在主函数内再调用其它函数。
代码参见Void main函数。
2)Void shitoshiliu模块
此函数用来把输入的十进制数据转换成十六进制的数据,利用数组的赋值和while函数来实现,再以数组的输出来输出转换成的十六进制数据。
代码参见Void shitoshiliu函数
3)Void shiliufanzhuan模块
此函数实现的是字符的逆序,在for循环下,字符数组调换,然后使用字符数组的输出将十六进制数据翻转后的字符输出。
代码参见Void shiliufanzhuan函数。
4)Int shiliutoshi模块
此函数把字符型的十六进制转变成整型的十进制数,利用的是字符的ASCII码值来转换的,根据字符ASCII码值和数据的关系来编程的,最后还要return回到主函数继续运行。
代码参见Int shiliutoshi函数。
5)Int shifanzhuan模块
此函数是数据的逆序,利用取余和取整赋值于变量,在运用乘权法得到转换后的十进制数。
代码参见Int shifanzhuan函数。
6)创新设计部分
输入于程序中的数据应该为小于10000,如果大于10000,不符合程序要求,应该与以提醒,如果为小于0,也不符合要求,所以,当输入一个十进制数据时,应该先对其进行一下判断,符合要求就继续进行,不符合输出提醒语。
改进的代码参见panduan函数。
3、设计中的主要困难及解决方案
设计中主要用到的就是十六进制转换到十进制时,首先想到的是用乘权法,当把程序代码写出后,在运行过程中,发现少一循环,但检查代码却没用发现任何错误。再请教老师后决定采用字符的ASCII码值来编写程序,因为对ASCII码值不是很清楚,所以再设计这段代码时,很费力,最后在了
28进制转换翻转小游戏 来自淘豆网m.daumloan.com转载请标明出处.