C语言课程设计--进制转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言

课程设计报告

设计题目:进制转换

学生姓名:

学生学号:20101010110

专业班级:数学与应用数学一班

学院名称:数学与计量经济学院

同组人姓名:

指导老师:

2011年6 月16 日

目录

1.需求分析........................................................1 1.1问题描述....................................................1 1.2输入数据的要求..............................................1 1.3输出数据的要求..............................................1 1.4开发环境和工具..............................................1 1。.5成员分工...................................................1 2.总体设计........................................................2 2.1设计思路...................................................3 2。.2模块结构图...............................................4 3.详细设计........................................................7 3.1数据类型的定义...............................................7 3.2总的实现......................................................8 4.系统测试........................................................9 5.总结...........................................................·10 6.参考文献及附录............................................11

1 需求分析

1.1问题描述

设计一个程序,将命令中的数字串转换为指定进制的数字串,并输出。当输入BD时将数字串从二进制转换成十进制,当输入DB时将数字串从十进制转换成二进制,当输入BO 时将二进制转换成八进制,当输入OB时将八进制转换成二进制。转换前转换后的数字串都必须用字符数组存放,且不能直接用%d,%o输出,用命令提示符去运行程序。

1.2输入数据要求

以命令行方式运行程序时所带参数,用户从键盘输入要转换的数据。输入两个个字符,并且字符之间必须用空格隔开,输入第一个字符之前应先空格。第一个是字符是表示转换的类型,第三个字符是需要转换的数字串。如

BD 10101010

是将二进制数转换成十进制数。

1.3输出数据要求

根据输入数据,输出转换后的数字。若输入正确,则如图1所示。当输入数据之前没有空格的话,如图2,界面会提示“不是内部或外部命令,也不是可运行的程序或批处理文件”如果没有区分大小写,,界面会显示“Iuput Error!”,如图3所示。

1

2

3

1.4开发环境和工具

开发环境:windows2007.

开发工具:c-free 5.0

1.5成员分工

凌语蓉:总体设计、查询模块、排序模块、……

黄子珊:系统测试、主调模块、更新模块、……

2总体设计

2.1.总体设计思路

1.设计思路

实现数制转换,将数值在二进制与十进制,二进制与八进制之间实现相互转换。根据进制转换的特点,以是十进制作为进制转换的中介站。无论哪种转换形式,先转换成十进制,再利用数学方法转换成相应的进制。所以,二进制与十进制之间直接通过一个算法能进行转换,二进制与八进制之间需要先转换成十进制再进行转换。因此设计了两个算法,一个是将原来的进制转换成十进制,一个是将转换成十进制后得到的数转换成目标进制。主函数里有两个形式参数,运行程序时操作系统将命令行参数传给mian函数的形式参数。并且,十进制以上的进制中会出现字母,为了以后程序的改进,我们考虑了将字符转换成数字。

2.数据存储

所有的数字存放在字符类型的数组里面。有两个字符数组,一个接受进制转换类型,一个储存数字串。例如,如果储存的是BD,则将后面字符储存的数字从二进制转换成十进制;如果储存的是DB,则将后面字符储存的数字从十进制转换成二进制;如果储存的是BO,则将后面字符储存的数字从二进制转换成八进制;如果储存的是OB,则将后面字符储存的数字从八进制转换成二进制。

2.2模块结构图

1)source_to_decimal:将数字串转换成十进制的。

2)decimal_to_object:将十进制的数字串转换成目标进制。

3)output:将转换后的数字串输出。

4)其中source_to_decimal,decimal_to_object模块

划分为如下两个子模块。

1)num_to_char:将数字转换成字符。

2)char_to_num:将字符转换成数字。

2.3模块说明

1.source_to_decimal:

函数原型:long source_to_decimal(char temp[],int source)

功能:将数字串转换成十进制的

输入参数:temp[]——字符数组,暂时存放输入的数字串。

source——整型类型,表示存放的数字串是几进制的。

输出参数:decimal_num——长整型,表示是转换成十进制的数字串。

2.decimal_to_object

函数原型:int decimal_to_object(char temp[],long decimal_num,int object)

相关文档
最新文档