进制转换器c语言课程设计作业,进制转换c语言课程设计.doc

学号

2013

2013-2014学年 第二学期

《高级语言程序设计》

课程设计报告

题目:

进制转换

专业:

数字媒体技术

班级:

13级2班

姓名:

孙敏芳

指导教师:

吴海波

成绩:

计算机与信息工程系

2014年6月20日

目录

TOC \o "1-3" \h \u

1 需求分析 5

1.1 进制转换实验目的 5

1.2 实验设计任务 5

1.3 设计环境 5

1.4 开发语言 5

2 分析和设计 5

2.1模块设计 5

2.2 系统流程图 6

2.3 主要模块的流程图 7

3 具体代码实现 11

4 课程设计总结 14

4.1 程序运行结果 14

4.2 课程设计体会 18

参考文献 18

1 需求分析

1.1 进制转换实验目的

本课程设计的主要目的就是学会二进制与十进制、八进制、十六进制间的相互转化,实现它们在计算机中的重要作用,同时提高自己查找问题、分析问题、解决问题以及实践动手操作的能力。

1.2 实验设计任务

以用户想用的任意进制数输入,然后转换成用户想得到的任意另外一种进制的数。至少完成二,八,十六进制数的任意转换。

1.3 设计环境

(1)WINDOWS 2000/7/Vista系统

(2)TC或Visual C++集成开发环境

1.4 开发语言

C语言

2分析和设计

2.1模块设计

定义5个子函数hex(x) , octal(x),decimal(x),f1,f2来实现二,八,十六进制的转换。编写一个main函数,输入任意进制数(2,8,10),都先将其转换成十进制,再通过判断,调用函数,实现再转换。如下所示:

定义函数hex(x),将x(十进制)转换为十六进制数;

定义函数octal(x)将x转换为八进制数;

定义函数decimal(x)将x转换为二进制数;

定义函数f1将二进制转换为十进制;

定义函数f2将八进制转换为十进制。

2.2 系统流程图

intc=0,R,r,d;char a[50],b[16];

intc=0,R,r,d;char a[50],b[16];

c=dprintf("请输入将被转换的数的进制:");scanf("%d",&R);开始结束hex(c);101682switch(r)scanf("%d",&r);scanf("%d",&d)R==10R==8R==2

c=d

printf("请输入将被转换的数的进制:");

scanf("%d",&R);

开始

结束

hex(c);

10

16

8

2

switch(r)

scanf("%d",&r);

scanf("%d",&d)

R==10

R==8

R==2

printf("请输入要转换的进制型:");printf("输入一个8进制8进制数数Yprintf("输入一个2进制数:");NYNY

printf("请输入要转换的进制型:");

printf("输入一个8进制8进制数数

Y

printf("输入一个2进制数:");

N

Y

N

Y

N

开始

printf("%d")binary(c)

printf("%d")

binary(c);

octal(c);

系统流程图YNNYprintf("\n\n");inta[8],i=7;x!=0

系统流程图

Y

N

N

Y

printf("\n\n");

inta[8],i=7;

x!=0

a[i]=x%16;x/=16;i--;

++i<8

a[i]

输出A

输出B

输出C

输出D

输出E

输出F

输出a[i]

printf("转换为十六进制:");

141312111015

14

13

12

11

10

15

inta[16]={0},i=15;

inta[16]={0},i=15;

x!=0

printf("转换为八进制:");

a[i]=x%8;x/=8;i--;

++i<16

printf("\n\n");

printf("%d",a[i]);

N

Y

chara[50];inti=0,j;

chara[50];inti=0,j;

x!=0

a[i]=x%2; x=x/2; i++;

j--

printf("转换为二进制:");

j=i-1

j>=0

printf("%d",a[j]);

N

YYYNNNc=sum;i--j++p=p*2; sum+=t*p;j=0i=n-1intn,j,i,sum=0,t=0,p=1,c;

Y

Y

Y

N

N

N

c=sum;

i--

j++

p=p*2; sum+=t*p;

j

j=0

p=1;

i==n-1

t=(a[i]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值