




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
阿拉伯数字和罗马数字的相互转换大作业说明书学生姓名 董勋凯 学 号 2412332 所属学院 电信工程学院 专 业 电气工程及其自动化 班 级 电气123 组 长 董勋凯 电信工程学院制目录1.概述21.1开发环境21.2已知设计参数或设计前提21.2.1开发平台:21.2.2已知:21.3设计内容及要求21.4课程设计小组人员22.程序概要设计22.2计数规则32.3组合规则32.4分析32.5流程图43.程序详细设计53.1关键代码分析53.11罗马数据转换成十进制数53.12将十进制数转换为罗马数据63.2疑难问题解决64.使用情况74.1展示各种的功能运行情况75.总结75.1程序的优点和缺点75.2遇到的困难及解决的问题75.3收获总结86.参考文献81.概述 1.1开发环境:本档案利用DEV c+编译流程,可根据所需目标简单迅速的实现阿 拉伯数字和罗马数字的相互转换,准确高效。主要的功能有信息录入,转换通道的选择,数字的正确转换,多次进行数字转换等。本程序专门为阿拉伯数字和罗马数字的相互转化而设计,为了方便操作程序简化了界面的操作,使信息的录入更加方便,达到事半功倍的效果。此程序采用面向对象的DEV c+编写,兼容性好,准确度高。运用了c+程序数组的专业知识。 1.2已知设计参数或设计前提 1.2.1开发平台:DEV c+ 1.2.2已知:用已知的十进制数字根据对照表将其转换为罗马数字,用已知的罗马数字根据字母的前后判断,对照表将其转换为罗马数字 1.3设计内容及要求 1.3.1提供十进制转换罗马数字或者罗马数字转换十进制的选择通道 1.3.2对于需要转换的数字进行全面正确的录入 1.3.3实现十进制转换罗马数字或者罗马数字转换十进制 1.3.4实现转换后数字的正确输出 1.3.5第一次转换完成后还可以继续进行第二次转换,满足重新选择通道 1.4课程设计小组人员 组长:刘良 成员:刘良 刘伟 周豪 2.程序概要设计本程序为一个翻译程序,将一种表达形式换算成另一种表达形式。该题是把罗马数字转换成十进制数或者把一个十进制数字转换成罗马数字。初步设想:输入一个字符数组,即一个罗马数字,然后按照其位数上的权值展开后输出,即输出一个十进制数。罗马数字有如下符号:I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。反之,输入一个十进制数字,根据对照表将其转换为罗马数字 2.2计数规则 2.2.1若干相同数字连写表示的数是这些罗马数字的和,如III=3。 2.2.2小数字在大数字前面表示的数是用大数字减去小数字,如IV4。 2.2.3小数字在大数字后面表示的数是用大数字加上小数字,如VI=6。 2.3组合规则 2.3.1基本数字、X 、C 中的任何一个,自身连用构成数目,或者放在大数的右边连用构成数目,都不能超过三个,放在大数的左边只能用一个。 2.3.2不能把基本数字 V 、L 、D 中的任何一个作为小数放在大数的左边采用相减的方法构成数目,放在大数的右边采用相加的方式构成数目,只能使用一个。 2.3.3 V 和 X 左边的小数字只能用。 2.3.4 L 和 C 左边的小数字只能用X。 2.3.5 D 和 M 左边的小数字只能用 C 。 2.4分析 2.4.1罗马数字转阿拉伯数字 从前往后遍历罗马数字,如果某个数比前一个数小,则把该数加入到结果中,反之,则在结果中两次减去前一个数并加上当前这个数。 比如XVIII=18,其对应的阿拉伯数字表示为10_5_1_1_1,因此结果为10+5+1+1+1=18。 XIX=19,其对应的阿拉伯数字表示为10_1_10,因此结果为10+1+10-2*1=19。 2.4.2阿拉伯数字转罗马数字 把所有小数字在前的组合也作为基本数字,做一个对应的数值映射表。 例如:4=1-5=IV, 9=1-10=IX, 40=10-50=XL, 90=10-100=XC, 400=100-500=CD, 900=100-1000=CM。2.5流程图 结束是否继续转换 开始选择是否将罗马数字转换为十进制数输出转换后的数字到屏幕输入所要转换的十进制数字进行将十进制转化为罗马数字通道输入所要转换的罗马数字(大写)NYN3.程序详细设计 3.1关键代码分析cout10进制数(按1)endl; cout罗马数据(按2)select; coutendl;/选择模式以上步骤为选择是否将罗马数字转换成十进制数,即选择模式。引用if条件选择模式,如图1 图1 3.11罗马数据转换成十进制数 coutrome; d=0; int i=0; for(i=0;romei!=0;i+) if(romei=M) d=d+1000; if(romei=D) d=d+500; if(romei=C) d=d+100; if(romei=L) d=d+50; if(romei+1=X&romei=I) d=d+9;i=i+2; else if(romei=X)d=d+10; if(romei+1=V&romei=I) d=d+4;i=i+2; else if(romei=V) d=d+5; if(romei=I) d=d+1; coutn转化成十进制数为:dendl;选择通道1,将罗马数字转换为十进制数,如图2 图23.12将十进制数转换为罗马数据if(select=2) char M,D,C,L,X,I; int n; coutn; coutn转化成罗马数据为:; covert2Roman(n); coutendl;与上述情况一致,选择通道2输入十进制数将之转换为罗马数据,如图3图3需要指出,程序中多次使用选择结构,可见掌握好基本结构的重要性,3.2疑难问题解决输入代码时不注意细节问题,比如大小写问题,代码源问题,造成代码错误,进而程序运行失败,4.使用情况 4.1展示各种的功能运行情况选择是否将罗马数字转换成十进制数 图4罗马数据转换成十进制数 图5将十进制数转换为罗马数据图65.总结 5.1程序的优点和缺点该程序可准确迅速实现罗马数据与十进制数据间的转换,但相比于c语言及java相比稍微复杂。但c+可以制作很多c语言及java实现不了的东西。本程序可以任意结束,应用方便。 5.2遇到的困难及解决的问题输入代码时粗心的忘记某些符号,导致程序错误很多,之后又费劲改回来,运行程序时不知道如何操作,最终翻开课本,与同学交流得知方法。 5.3收获总结C+语言课程设计和现代计算机技术的实际应用相结合,在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学习时间虽然仅有一个星期,但确实使我受益非浅。通过实习我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对c+的使用技巧。另外,学习中冯老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。虽说捧着自己的成果很高兴,但成果背后总是付出很大的努力。一个多礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个多礼拜的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题.一个多礼拜的挣扎,绞尽脑汁终于带着麻木的手指和大脑脱出那堆“泥潭”。现在的心情是如鱼得水,干涩的眼睛前方是万里晴空。终于,所有的努力即将化成了一个个铅字,打印机“滋滋”的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工公司安全技术培训课件
- 农业机械安全培训致辞稿课件
- 刺激与反应课件
- 化工企业安全培训教育课件
- 初学者硬笔课件
- 兴化安全培训课件
- 婚纱照营销方案(3篇)
- 初中食品安全培训课件
- 初中教师安全培训总结课件
- 化学实验室安全培训内容课件
- 美术微课课题立项申报书
- GB/T 46084-2025燃煤锅炉火焰温度图像检测技术规范
- 2025年贵州省毕节市辅警招聘考试题题库(含参考答案)
- 女职工法律培训
- 2025口腔执业医师考试仿真模拟试题及答案
- 2025年辅警考试公共基础知识真题库(含答案)
- 兵团面试题目及答案
- 2025劳动合同范本下载
- 2025-2026学年高二上学期数学第一次月考立体几何卷全解析【测试范围:沪教版2020必修第三册第十章】(上海专用)
- 小学法律知识竞赛试题(附答案)
- 浙教版(2023)五年级上册信息科技 第1课 身边的算法 课件
评论
0/150
提交评论