数的进制转换系统 C 课程设计报告
十进制与六进制整数转换

编号:18河北工业大学计算机软件技术基础(VC)课程设计报告学院班级姓名学号 ___ 成绩一、题目:十进制与六进制整数的转换(18题)二、设计思路1、总体设计1)分析程序的功能就是实现十进制与六进制整数间的转换。
即根据用户输入的进制和数据,转换得到对应的整数。
2)系统总体结构:设计程序的组成模块,简述各模块功能。
包括主函数,头文件,十进制转六进制的函数,倒序函数,六进制转十进制的函数,检验输入数据是否合法函数。
2、各功能模块的设计:a.主函数:定义所有变量并运行程序;b.十进转六进制函数:将十进制数转换成六种进制数据(字符数组中);c.倒序函数:将字符数组中的内容求逆序,即得到转换数据;d. 六进制转十进制的函数:按位权进行多项式展开相加,得到对应的十进制数;e. 检验输入数据是否合法函数:检验输入数据是否合法。
3、设计中的主要困难及解决方案1)在采用除留余数法求六进制数时,循环控制不好。
2)在编译主函数时经常少掉好多可能的情况。
4、你所设计的程序最终完成的功能1)就是实现十进制与六进制整数间的转换。
即根据用户输入的进制和数据,转换得到对应的整数。
2)准备的测试数据及运行结果请输入进制:6请输入数据:123456进制数据12345转化成10进制数据为:1865是否要继续?(y为继续)y请输入进制:10请输入数据:98896546110进制数据988965461转换成6进制的数据为:242044543445是否要继续?(y为继续)y请输入进制:6请输入数据:564126123编号:18输入错误,请重新输入:是否要继续?(y为继续)三、程序清单1、void main文件清单#include<iostream.h>#include"tou.h"void main()//主函数{int t,i,p,m;char s[200],pd;do{cout<<"请输入进制:";cin>>m;for(;m!=6&&m!=10;){cout<<"输入错误,请重新输入:";cin>>m;}if(m==10){cout<<"请输入数据:";cin>>t;tensix(s,t);//调用十进制转六进制函数进行转换cout<<"10进制数据"<<t<<"转换成6进制的数据为:"<<s<<endl;}if(m==6){cout<<"请输入数据:";cin>>s;for(i=0;s[i]!='\0';i++)//对是否为六进制数进行判断{p=s[i]-'0';if(p>5){cout<<"输入错误,请重新输入:"<<endl;break;}}if(p<=5){t=sixten(s);//调用六进制转十进制函数进行转换cout<<"6进制数据"<<s<<"转化成10进制数据为:"<<t<<endl;编号:18}}cout<<"是否要继续?(y为继续)";cin>>pd;//判断程序是否还需要进行}while(pd=='y'||pd=='Y');}2、tou.h文件清单void tensix(char s[], long int t);//定义十进制转换为六进制函数long int sixten(char s[]);//定义六进制转换为十进制的函数void dx(char s[]);//对数组进行倒叙的函数3、tensix.cpp文件清单#include"tou.h"void tensix(char s[],long int t)//十进制转换六进制的函数的具体编译{int x,i,e;e=t;i=0;for (;t!=0;)//采用除留余数法求六进制数{x=t%6;s[i]=x+'0';t=t/6;i++;}s[i]='\0';if(e==0){s[i]=e+'0';s[i+1]='\0';}dx(s);//调用倒序函数,将字符数组中的内容求逆序,即得到转换数据}4、dx.cpp文件清单#include<string.h>void dx(char s[] )//倒序函数的具体编译{int j,len;char c;len=strlen(s);for (j=0;j<len/2;j++){c=s[j];s[j]=s[len-1-j];s[len-1-j]=c;}编号:18}5、sixten.cpp文件清单#include<string.h>#include<math.h>long int sixten(char s[])//六进制转十进制函数的具体编译{int t=0,i,len;len=strlen(s);for(i=0;s[i]!='\0';i++)t+=(s[i]-'0')*pow(6,(len-1-i));return t;}四、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。
c语言课程设计进制转换设计目的

c语言课程设计进制转换设计目的一、课程目标知识目标:1. 学生能够理解二进制、八进制、十进制和十六进制的基本概念及它们之间的区别;2. 学生能够掌握不同进制之间的转换方法,特别是二进制与十进制的转换;3. 学生能够运用C语言编写程序实现进制转换,理解其背后的算法逻辑。
技能目标:1. 学生能够独立编写进制转换的C语言程序,并调试运行成功;2. 学生通过课程实践,培养编程解决问题的能力,提高逻辑思维能力;3. 学生能够运用所学知识,解决生活中与进制转换相关的实际问题。
情感态度价值观目标:1. 学生通过学习进制转换,培养对计算机科学的兴趣,激发探究精神;2. 学生在学习过程中,培养团队合作意识,学会相互帮助和分享;3. 学生认识到编程在生活中的应用,增强实践能力,提高对信息技术的认识。
本课程针对高中年级学生,以C语言为载体,结合进制转换的知识点,旨在提高学生的编程能力、逻辑思维能力和解决实际问题的能力。
课程强调实践性,让学生在动手实践中掌握知识,培养兴趣,激发创新精神。
同时,注重培养学生的团队合作意识和情感态度,使他们在学习过程中形成正确的价值观。
通过本课程的学习,为学生今后的计算机科学学习打下坚实基础。
二、教学内容1. 基本概念:介绍二进制、八进制、十进制和十六进制的基础知识,阐述它们之间的相互关系和转换意义。
- 教材章节:第一章 计算机基础知识2. 进制转换方法:- 二进制与十进制的转换:重点讲解“按权展开法”和“除二取余法”;- 其他进制之间的转换:简要介绍八进制、十进制与十六进制之间的转换方法。
- 教材章节:第二章 算法基础3. C语言实现进制转换:- 数据类型和数据表示:复习C语言中的整型数据类型,了解不同进制表示方法;- 算法实现:详细讲解进制转换算法,以及C语言编程实现;- 教材章节:第五章 循环语句4. 程序设计与调试:- 编写进制转换程序:指导学生编写二进制与十进制转换的C语言程序;- 调试与优化:教授程序调试方法,引导学生优化程序性能。
计算机数制转换教案

计算机数制转换教案教学目标:1、让学生了解计算机中常用的数制及其相互转换的方法。
2、培养学生利用计算机进行信息处理的能力和自主探究学习的能力。
教学内容:1、计算机中常用的数制介绍。
2、不同数制之间的转换方法。
3、数制转换的编程实现。
教学重点:1、不同数制之间的转换方法。
2、数制转换的编程实现。
教学难点:1、理解不同数制之间的差异和。
2、掌握数制转换的编程实现方法。
教学准备:1、准备教学软件和编程环境。
2、准备相关案例和例题。
3、提前布置预习任务,让学生了解数制的基本概念和转换方法。
教学过程:1、开场(5分钟)教师:大家好,今天我们要学习的是计算机数制转换,这是计算机科学中非常重要的基础知识之一。
首先,让我们来了解一下计算机中常用的数制有哪些,以及它们之间是如何转换的。
2、新课导入(10分钟)教师:在计算机中,我们常用的数制有二进制、八进制和十六进制。
这些数制都有自己的特点和优势,比如二进制运算速度快,八进制易于阅读和理解,十六进制则可以方便地表示二进制数的每一位。
接下来,我们将详细介绍这些数制的特点和转换方法。
3、讲解数制特点(15分钟)教师:首先,我们来了解一下二进制、八进制和十六进制的表示方法和特点。
通过表格和案例的形式,让学生了解不同数制的表示方法和特点。
4、讲解数制转换方法(15分钟)教师:接下来,我们将讲解如何将不同数制之间进行转换。
首先,我们需要了解不同数制之间的对应关系,以及它们之间的转换公式。
通过例题和案例的形式,让学生掌握不同数制之间的转换方法。
5、编程实现数制转换(20分钟)教师:为了更好地理解和应用数制转换,我们还需要掌握如何在编程中实现这种转换。
通过编程实例和代码分析,让学生了解如何在程序中实现不同数制之间的转换。
6、课堂练习(15分钟)教师:为了加深学生对数制转换的理解和应用能力,我们需要进行一些课堂练习。
通过练习题和案例分析的形式,让学生自主探究和学习,提高他们的实践能力和解决问题的能力。
课程设计进制转换论文

课程设计进制转换论文一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握进制转换的基本原理和方法,理解不同进制之间的转换关系。
技能目标要求学生能够运用所学的进制转换方法,解决实际问题。
情感态度价值观目标要求学生培养对数学的兴趣和好奇心,培养学生的团队合作意识和问题解决能力。
二、教学内容教学内容将根据课程目标进行选择和,确保内容的科学性和系统性。
教学大纲将详细制定,明确教学内容的安排和进度。
教材的章节将包括进制转换的基本原理、不同进制之间的转换方法以及进制转换在实际问题中的应用。
具体的教学内容将包括二进制、八进制、十进制和十六进制的转换方法,以及进制转换在计算机科学和工程领域的应用案例。
三、教学方法教学方法将多样化,以激发学生的学习兴趣和主动性。
将采用讲授法、讨论法、案例分析法和实验法等教学方法。
通过讲授法,学生将能够系统地学习进制转换的理论知识;通过讨论法,学生将能够与同学一起探讨和解决问题;通过案例分析法,学生将能够将所学的进制转换方法应用到实际问题中;通过实验法,学生将能够亲自动手进行进制转换的实验,加深对知识的理解和记忆。
四、教学资源教学资源的选择和准备将根据教学内容和教学方法的需求进行。
教材将是主要的教学资源,将提供系统的进制转换知识。
参考书将用于拓展学生的知识视野,提供更多的学习资料。
多媒体资料将用于辅助教学,通过图像、动画和视频等形式,使学生更直观地理解进制转换的概念和方法。
实验设备将是必要的教学资源,将用于学生进行进制转换的实验,提高学生的实践能力。
五、教学评估教学评估是检验学生学习成果的重要环节。
评估方式包括平时表现、作业、考试等。
平时表现将根据学生在课堂上的参与度、提问和回答问题的积极程度进行评估。
作业将包括练习题和小项目,以巩固学生对进制转换知识的理解和应用。
考试将包括期中考试和期末考试,以全面评估学生的知识掌握和运用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
课程设计报告代码转换

代码转换第一章设计要求及思路1.1设计要求按屏幕提示要求输入,并进行相关进制之间的相互转换,从屏幕上获得正确结果。
1.2 设计思路整个程序的实现可由若干个模块组成,其中有一个主模块,可以调用其他各6个模块,模块功能划分为:模块2实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系;模块3实现大写字母向小写字母的转换,与2类似;模块4实现二进制数向十六进制数的转换,可以利用移位指令来实现;模块5实现十六进制数向二进制数的转换,也可采用移位指令实现;模块6实现十六进制数向十进制数的转换,首先将十六进制数转换成二进制,然后再实现二进制向十进制数的转换。
第二章软件设计2.1 程序设计流程图程序流程图如图2-1所示:2.2 各模块功能的实现2.2.1 转换方式的选择显示提示语句:“请你选择需要的方式:1.大小写转换2.十六进制转换3.二进制转换”该语句的实现通过比较指令CMP和条件转移指令JXX来实现,用在键盘上输入的字符所对应的ASCII码和1,2,3所对应的ASCII码依次比较再通过JXX来判断是否该跳转,从而实现选择,另也可以通过IFXX语句实现选择功能。
转换方式选择程序的主要语句如下所示:MOV AH,01HINT 21H;DOS系统功能调用功能号01H为键入字符并回显CMP AL,31H;1的ASCII码为31HJE LOP1CMP AL,32H ; 2的ASCII码为32HJE LOP2CMP AL,33H ;3的ASCII码为33HJE LOP3;2.2.2 大小写转换通过查ASCII码我们可以知道大写字母和小写字母之间的ASCII码相差20H,因此我们可以通过向输入的字母转换成其对应的ASCII码,再通过加减20H实现大小写字母之间的相互转换。
如果输入的为大写字母则在其ASCII码的基础上加上20H即可以实现转换成小写字母,其程序段的主要语句如下所示:MOV AH,01HINT 21HMOV BL,ALADD BL,20HMOV DL,BLMOV AH,02H;系统功能调用功能号02H为显示DL中ASCII码对应的字符INT 21H如果输入的是小写字母,则在原ASCII码的基础上减去20H即可转换出所对应的大写字母,主要程序段如下所示:MOV AH,01HINT 21HMOV BL,ALSUB BL,20HMOV DL,BLMOV AH,02H;系统功能调用功能号02H为显示DL中ASCII码对应的字符INT 21H2.2.3 十六进制的转换根据要求我们需要实现十六进制像二进制和十进制的转换,程序要有明确的提示是向二进制转换还是向十进制转换并进行相应的选择,所以必须有选择语句的出现,然后根据所选的内容实现相应功能的调用。
十进制转化二进制实验报告参考模板

实验报告课程名称:算法与数据结构题目:十进制转换为二进制班级:电信1305学号:1402130526姓名:云昊完成时间:2014年11月28日1、实验目的和要求本次课程设计的题目是数制转换程序,设计此题目主要目的在于加深对C 语言课程理论与数据结构课程理论实践方面的理解。
通过编写一定规模和难度的程序,进行一次全面的C语言编程训练,掌握数据结构的思想,提高分析问题和解决问题的能力,并提高调试程序的能力,更深一步的掌握理论应用于实践。
本次课程设计的主要任务是完成对数制转换进行编程,要求用栈实现十进制到二进制的转换,了解十进制转换为二进制的原理,熟练对栈的基本操作,用栈的基本操作实现程序的效率化。
2、实验内容本课程设计主要解决完成数制转化问题。
完成功能如下:1)任意给一个十进制的数;2)完成十进制到二进制的数制转换;3)本课程设计使用数组解决,用栈实现。
3、算法基本思想数制转换的基本原理是:将一个十进制的数,转换为二进制的数,此过程可以采用求余法进行,用这个十进制数作为被除数,用指定的数基作除数,连续求余,得出的余数依由个位到十位等的顺序组成新数,即得指定数制的数。
本次课程设计主要用了数组和栈两种的方法来实现的。
堆栈的主要应用就是可以实现:后进先出(Last-In/First-Out)。
转十进制的时候先得到是低位的数字,然后得到高位的数字,刚好使用堆栈可以把这个顺序颠倒过来,每得到一个数字就把它压栈,最后把所有的数字弹出,依次显示出来。
4、算法描述用栈实现十进制到二进制的转换的程序为:#include<stdio.h>#include<stdlib.h>#define maxsize 100typedef struct{char data[maxsize];int top;}sqstack,*Stack;Stack initstack(){Stack s;s=(Stack)malloc(sizeof(sqstack));s->top=-1;return s;}int push(Stack s,char ch){if(s->top>=maxsize)return 0;else{s->data[++s->top]=ch;return 1;}}int pop(Stack s,char *ch){if(s->top==-1)return 0;else{*ch=s->data[s->top--];return 1;}}void Convert (int n, char str[], unsigned p) {Stack s;int i=0;s=initstack();while(n){if(n%p<10)push(s,n%p+'0');elsepush(s,n%p+'A'-10);n=n/p;}while(s->top!=-1)pop(s,&str[i++]);str[i]='\0';}void main(){int n;char str[maxsize];unsigned p=2;printf("请输入您需要转换的十进制数据n\n"); scanf("%d",&n);Convert(n,str,p);printf("转换为二进制后的数为:\n");printf("%s\n",str);}5、测试数据与运行结果输入十进制数据运行后的截图为:6、实验总结此次上机实验,我不仅对栈的存储等操作有了一定的认识,也对十进制到二进制的转换有了深刻的理解,同时对编译程序的算法思想有了新的认识,还让我深刻的体会到了链表的重要性以及其应用的方便,并且对指针加深了印象,应用了书本中的算法思想,对我以后的编译以及完成新的程序有很大的帮助。
数据结构课程设计进制转换

数据结构课程设计设计说明书进制转换的实现学生JUGG学号¥ #…班级Dota all star ------------------成绩___________ 优秀__________ 指导教师Puckdota科学与技术天灾元年3月14日数据结构课程设计评阅书Dota all star设计题目:___________________________ 进制转换的实现________________________________________________ 完成期限:自_天灾元年年二月J 日至_近卫戊年_年_______________________ 月J4 ______ 日共2周设计依据、要求及主要容(可另加附页):进制数制是人们利用符号进行计数的科学方法。
数制有很多种,在计算机中常用的数制有:十进制,二进制、八进制和十六进制。
十六进制数有两个基本特点:它由十六个字符0〜9以及A, B, C, D,E, F组成(它们分别表示十进制数0〜15),十六进制数运算规律是逢十六进一,例如:十六进制数4AC8 可写成(4AC8)16,或写成4AC8H要求:(1)输入一个十进制数N,将它转换成R进制数输出,并可以进行逆转换。
(2)输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R (2<=R<=16,R<>10)。
(3)为每个测试实例输出转换后的数,每个输出占一行。
如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
(4)界面友好。
指导教师(签字):___________________ 教研室主任(签字):_________________________批准日期:年月日摘要由于数制计算和不同数制之间转换的需要,设计了一个10 进制转换其它进制(36 进制以)及逆转换的软件,该软件具有简单的将10进制数转换成2、8、16 进制数以及较复杂的高进制数的转换和逆转功能。
C语言课程设计题目

基本要求:
1、设每个记录有下列数据项:电话号码、用户名、地址;
2、从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;
3、采用再哈希法解决冲突;
4、查找并显示给定电话号码的记录;
5、查找并显示给定用户名的记录。
6、在哈希函数确定的前提下,尝试各种不同类型处理冲突的方法(至少两种),考察平均查找长度的变化。
2
五子棋小游戏
设计实现基于命令行的五子棋小游戏
1、实现五子棋的人人对局功能
2、实现五子棋的人机对局功能
3、实现两机对局
要求:具体的图形化展示整个游戏。1、2必须实现,第3不做要求,根据个人能力自己决定是否实现(不实现不影响成绩,如果能实现将得到加分)。
3
俄罗斯方块游戏
设计实现一个具有基本形状的俄罗斯方块游戏
(3)如何把某一个k进制的数化为10进制数
采用文件、Windows图形化输入界面等操作来实现。
6
用指针优化学生成绩排名
1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2.将数组stu[10]的内容输出到屏幕上,要求用指针实现
3.将成绩数组按照从高到低进行排序,要求用指针实现
C语言课程设计
一、游戏类题目
序号
题目名称
题目要求
1
马踏棋盘
设计一个国际象棋的马踏棋盘的演示程序
要求:具体的图形化展示整个游戏。将马随机放在国际象棋的8×8棋盘的某个方格中,马按照走棋的规则进行移动。要求每个方格只进入一次,走遍棋盘的全部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走路线,将1,2,…,64依次填入一个8×8的方阵,并输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数的进制转换系统》程序设计基础课程设计报告
专业:电子信息工程
班级:11级2班
姓名:李新强
学号:2011508200
指导教师:高攀
二O一一年2月2日
目录
1课程设计目的 (3)
2课程设计题目描述和要求 (3)
2.1课程设计题目 (3)
2.2课程设计基本要求 (3)
3课程设计报告的实验内容 (4)
3.1系统功能框架 (4)
3.2二、八、十六进制数转换到十进制数 (4)
4课程设计的源文件代码 (8)
5课程设计的实验结果 (9)
6课程设计总结 (9)
7参考书目 (10)
1课程设计目的
通过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对编程的训练,使得自己掌握一些将书本知识转化为实际应用当中.验证自己半年来的学习成果!
2课程设计题目描述和要求
2.1课程设计题目
题目:数的进制转换系统
2.2课程设计基本要求
1、将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。
提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w(2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value上,最后输出该value。
2、如何把8进制数或16进制数化为10进制数。
3、如何把某一个k进制的数化为10进制数呢?
4、要求输入一个K进制数字通过程序转换成一个10进制数
3课程设计报告的实验内容
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。
也就是说,若转换前两数相等,转换后仍必须相等。
3.1系统功能框架
进入进制转换系统
输入要转化的进制数
i
输入K进制数
判断进制数
系统公式转换
输出10进制数结果
3.2二、八、十六进制数转换到十进制数
十进制:有10个基数:0~~9,逢十进一
二进制:有2个基数:0~~1,逢二进一
八进制:有8个基数:0~~7,逢八进一
十六进制:有16个基数:0~~9,A,B,C,D,E,F,
(A=10,B=11,C=12,D=13,E=14,F=15),逢十六进一
K进制:有K个基数:0~~K-1,逢K进一
3.2.1二进制数转换为十进制数
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:01100100,转换为10进制为:
下面是竖式:
01100100换算成十进制
第0位0*20=0
第1位0*21=0
第2位1*22=4
第3位0*23=0
第4位0*24=0
第5位1*25=32
第6位1*26=64
第7位0*27=0+
---------------------------
100
用横式计算为:
0*20+0*21+1*22+1*23+0*24+1*25+1*26+0*27= 100
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1*22+1*23+1*25+1*26=100
3.2.2八进制数转换为十进制数
八进制就是逢8进1。
八进制数采用0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:
用竖式表示:
1507换算成十进制。
第0位7*80=7
第1位0*81=0
第2位5*82=320
第3位1*83=512+
--------------------------
839
同样,我们也可以用横式直接计算:
7*80+0*81+5*82+1*83=839
结果是,八进制数1507转换成十进制数为839
3.2.3十六进制数转换成十进制数
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。
字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数X(X大于等于0,并且X小于等于15,即:F)表示的大小为X*16的N次方。
假设有一个十六进数2AF5,那么如何换算成10进制呢?
用竖式计算:
2AF5换算成10进制:
第0位:5*160=5
第1位:F*161=240
第2位:A*162=2560
第3位:2*163=8192+
-------------------------------------
10997
直接计算就是:
5*160+F*161+A*162+2*163=10997
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数1234为什么是一千二百三十四?你尽可以给他这么一个算式:
1234=1*103+2*102+3*101+4*100
通过以上二、八、十六进制向十进制的转换的分析,我们可以总结出K进制转换成十进制的规律。
本程序主要是通过输入一个K进制的数组a,字符串长度为80,通过输入a[i]的大小,运用for、if的选择性语句,来输出相应的十进制数结果。
4课程设计的源文件代码
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
void main()
{
char a[80];
int i,p=1,m,n=0,k;
cout<<"请设定要转化的进制位数:"<<endl;
cin>>k;
cout<<"输入一个"<<k<<"进制数:"<<endl;
cin>>a;
m=strlen(a);
for(i=m-1;i>=0&&k!=16;i--)
{
n+=(a[i]-48)*p;
p*=k;
}
if(!n)
for(i=m-1;i>=0;i--)
{
if(a[i]<65)n+=(a[i]-48)*p;
if(a[i]>=65)n+=(a[i]-55)*p;
p*=k;
}
cout<<"相应的10进制数为:"<<n<<endl
5课程设计的实验结果
输入一个二进制数、八进制数、十六进制数、K进制数,观察结果,计算结果,对比是否相同。
6课程设计总结
在这一次课程设计中,让我深知自己的不足,以前的学习只停留在表面上,在课程设计中许多概念型问题还需要看书解决,说明学习还不够扎实,这门课不是老师教完就结束的,还需要自己经常的上机实验,来步步完善自己的思维,以更熟练的掌握C++的应用。
通过这些复杂的程序,我们可以使我们的大脑更加灵活。
能够使我们更加熟练程序,能够达到看到复杂的程序就知道结果,这对我们今后工作有很大的帮助,另外,我们能够在程序中充分展示自己所学过的知识,将课堂知识运用到实际中,达到大学生动手能力的标准。
作为一名大学生我们不过要学好课堂上的知识,而且我们还要拥有结合实践的能力。
通过这一次课程设计,我学到了很多,不仅仅是科学知识,更重要的是他让我了解到编程者的工作难处,一个小小的错误,就会使整个程序瘫痪,因此在今后我一定会更加细心地学习知识,认真的对待作业!
7参考书目
[1]谭浩强,《C++程序设计》,北京,清华大学出版社,2011年.。