进制转换c语言课程设计

时间:2024.3.31

《高级语言程序设计》

课程设计报告

计算机与信息工程系

20##620

目录

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 系统流程图

 

 

2.3 主要模块的流程图  

 

 

3 具体代码实现

#include<stdlib.h>

#include<math.h>

#include<string.h>

#include<stdio.h>

void hex(long int x)

{ int a[8],i=7;                                                            

while(x!=0)                         

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

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

while(++i<8)

{ switch(a[i])

{ case 10:printf("A");break;                              

case 11:printf("B");break;

case 12:printf("C");break;

case 13:printf("D");break;

case 14:printf("E");break;

case 15:printf("F");break;

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

} }

printf("\n\n");}

void octal( int x)

{ int a[16]={0},i=15;

while(x!=0){a[i]=x%8;x/=8;i--;}

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

while(++i<16){printf("%d",a[i]);}

printf("\n\n");}

void binary( int x)

{   char a[50];int i=0,j;

while(x!=0)

{a[i]=x%2;

x=x/2;

i++;}

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

    for(j=i-1;j>=0;j--)

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

}

 int  f1( char a[])

  { int n,j,i,sum=0,t=0,p=1,c;

        n=strlen(a);

        for(i=n-1;i>=0;i--)

              { p=1;

       t=(a[i]-48);if(i==n-1)p=1;

          else

                 for(j=0;j<n-i-1;j++)

                 {p=p*2; sum+=t*p;} }c=sum;

      printf("对应的10进制数:%d\n",c);

return c;}

int f2( char b[])

{int i,j,sum=0,c;

     for(i=strlen(b)-1,j=0;i>=0;i--,j++)

        {sum=sum+(int)(b[i]-'0')*(int)pow(8,j);}

     c=sum;

     printf("对应的10进制数:%d\n",c);

return  c;}

void main()

{  int c=0,R,r,d;

char a[50],b[16];

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

scanf("%d",&R);

if(R==2)

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

scanf("%s",a);c=f1(a);  }

if(R==8)

{    printf("输入一个8进制数:b[16] ");

     scanf("%s",b); c=f2(b);}

 if(R==10)

   { printf("输入十进制数:d");

scanf("%d",&d);c=d;}

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

         scanf("%d",&r);

     switch(r)

 { case 2 : binary(c);break;

       case 8 : octal(c);break;

       case 10: printf("%d",c);break;

           case 16: hex(c);break;}

   }

5 课程设计总结

5.1  程序运行结果

4.2 课程设计体会

 此次C语言课程设计我组设计的是一个利用子函数,循环语句(for循环,  while循环)编写的程序,由于对对循环语句的使用不多,刚开始的时候完全不知道怎么弄,只能一点一点地请教老师或者同学。在这过程中,我也慢慢掌握一些关于循环语句的以前不懂、不明白的的知识。在同学们的帮助下,此次课程设计完成得比较顺利。经过这次程序设计,我收获颇多,不仅理论知识掌握的更牢,实际动手能力也有所提高,更激发了我对C语言的兴趣。同时,我也懂得了完成一些事情是要有敢于承认自己的不足的,一个人的思维和精力毕竟有限,因此,把大家学的东西结合起来,发挥每个人的长处共同来完成任务,要比一个人轻松很多。在此,我要感谢我们的指导老师老师和那些帮助我的同学们,在大家的帮助下,我才能顺利完成此次课程设计。

参考文献

[1] 黄同成,周红波.程序设计基础教程(C语言).湖南人民出版社,2011.

[2] 黄同成,黄磊.程序设计实践教程(C语言).湖南人民出版社,2011.

[3] 谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.

                             


第二篇:006-C语言进制转换


006C语言进制转换

006C语言进制转换

006C语言进制转换

006C语言进制转换

006C语言进制转换

006C语言进制转换

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言程序设计基础课程设计报告

程序设计基础课程设计报告课程名称课程设计题目程序设计基础课程设计学生信息管理系统姓名系专业年级学号指导教师职称计算机科学技术系计算机网络技术讲师20xx年1月1日一设计题目及要求1题目学生信息管理系统2要求1建...

《C语言程序设计》课程设计报告格式 (2)

C语言程序设计课程设计报告20xx20xx学年第1学期专业软件工程软件测试服务班级1班姓名学号陈家汀指导教师谢小竹成绩计算机与信息工程学院20xx年1月12日目录一课程设计的目的与要求页码二方案实现与调试页码2...

C语言课程设计报告---学籍信息管理系统

中国地质大学本科生课程论文封面1课程设计评语注1无评阅人签名成绩无效2必须用钢笔或圆珠笔批阅用铅笔阅卷无效3如有平时成绩必须在上面评分表中标出并计算入总成绩2目录课程设计评语2目录31课程论文题目42程序设计思...

C语言课程设计报告_运动会分数统计系统

C语言课程设计报告_运动会分数统计系统一.需求分析1问题描述运动会分数统计系统参加运动会有n个系,系编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前…

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

c语言程序设计课程设计报告(34篇)