网站大量收购独家精品文档,联系QQ:2885784924

C语言数字朗读课程设计.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数字朗读课程设计

第一部分 任务书 一、目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个较为复杂的软件,并能按照题目的功能设计要求完成相关文档。 二、【课程设计题目及内容要求】 【朗读数字】现代计算机技术中有一种叫做计算机朗读的技术,能够把段落文章朗读出来,而不是简单的朗读一个一个字母,计算机朗读技术为人机交互开辟了新的天地,某些阅读困难的地方都可以使用它。你开始研究这项技术,首先是先把数字串给朗读出来,例如123.45被朗读为“一百二十三点四五”,而不是“一二三点四五”。其次你希望也能朗读十六进制和八进制的数据,例如0x3AF被朗读为“十六进制0X3AF”,而0345被朗读为”八进制0345”。最后你希望实现一个简易计算器,当你输入“123+345”这样的字符串的时候,你将得到“一百二十三加三百四十五等于四百六十八”这样的结果。 真正的朗读需要使用语音功能,由于硬件条件的限制,你无法使用语音,因此你使用文字形式输出,即在屏幕上输出“一百二十三点四五”和“十六进制0X3AF”这样的字符串即可。 你的程序需要实现以下要求: 为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目; 朗读十进制浮点数。(浮点数范围在-99999~+99999间,小数点后不超过3位) 识别并朗读包括十进制,八进制,和十六进制的整型数字。(数据总长度不超过8个字符) 能够识别整数的加法(加法结果在5位数以内) 最终完成的程序脱离开发环境,在命令提示符下运行。程序名可以叫做ReadOut.exe,程序要求可以带参运行,参数表示所需要朗读的数字 ReadOut 123.45 则程序运行时直接输出一百二十三点四五。在带参运行情况下无需显示菜单,运行完毕可以直接退出。 设计提示: 本任务以字符处理为主。建议基于字符数组进行操作。因为数据的表达方式需要动态识别,因此不能通过scanf函数加上%f的方法来输入数据,只能通过字符串数组输入的方法。然后解析这个字符串。对于要求2,需要判断字符串数组中第一个字符是否为负号,如果为-号则为负数否则不用读,后面需要判断小数点前有多少个数字,以此来根据情况来读出百千万这些额外的字。注意到用户有可能没有输入小数点,因此判断数字结束应同时判断是否小数点或者字符串结束符。对于要求3,需要判断第一个字符是否为0,若是0还需要判断后续字符是否为x或者X,以此来判断读出来的是什么进制,读出进制后,如果是十进制则可以直接调用前面的代码读出。对于要求4,需要把带加号的字符串拆成两个不带加号的串,然后两次调用前面的功能代码,可以使用c提供的字符串转换函数atol(含义为ASC To Long的意思)将“123”这个字符串转换为长整形数123这样可以直接获得两个加数的值,相加后再使用sprintf函数把数值转换为字符串,就可以直接调用前面的代码了。 三、课程设计的基本步骤和方法 课程设计是一个综合性的训练,包括分析,描述,编程,调试,文档等多方面的内容。课程设计推荐采用以下几个阶段: 分析理解题意,确定问题范围和数据的表达。 课程设计题目往往取材于现实问题的一个部分,与程序设计作业不同,其问题的描述往往比较含糊,做什么和怎么去做范围不是那么明确,这个需要反复讨论和研究问题本身,尽量把问题清晰化,使之可以使用程序化方法描述。 可以通过一些方法来帮助理解问题使之程序化。 划出问题描述中所有的名词,作为分析的基础,在这些名词中,选择与问题相关性强的,作为系统实现的主要考虑对象。 找到那些输入输出部分的对象,分析出所输入或者输出应该是什么类型。是字符串还是整型还是浮点。 确定以上输入输出是多值还是单值的,多值的数据往往需要使用数组或者链表来存贮或者表达,单值的往往只需要使用一个简单的变量就可以了。 确定多值数据长度是否已知还是未知,若已知或者长度范围确定,可以使用数组或者动态数组,若长度经常发生变化,可以使用链表来存贮 根据输入输出数据,设计输入输出格式,尽量表达清楚和美观 构思算法绘制流程图 确定了输入输出以后,需要确定程序的算法。就是确定如何由输入的已知条件生成输出的内容的问题。可以结合自己的常识来设计,在设计算法的时候可以先不考虑如何进行编程,只考虑如何由前面给出的输入得到结果。然后把结果描述出来。如果发现有无法得到结果的问题,就需要回到第一步去审查是否缺少了输入条件。具体设计算法可以参考下面的方法 对于给出的问题描述中,算法讲的比较多的,可以把所有的动词划出来,作为算法的基础。还有表示先后的连词,例如先XXXX然后XXX这些信息强烈表达了问题的计算方法。算法讲的比较少的就需要结合平时的常识了。 把给出的输入列在一张表上,然后只许使用这些数据用纸笔计算出所要输出的结果。

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档