欢迎来到天天文库
浏览记录
ID:8820665
大小:195.50 KB
页数:12页
时间:2018-04-08
《刘艳红c语言编写四则运算运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、研究生课程论文课程名称 C++语言应用 授课学期2013学年至2014学年第一学期学院 电子工程学院专业 电子与通信学号 2013011646姓名 刘艳红任课教师闭金杰专题C++的带括号四则运算设计交稿日期2014年02月15日成绩阅读教师签名日期广西师范大学研究生学院目录摘要1一、设计任务,目的与要求21.设计内容:22.设计目的:23.设计要求:2二、概要设计31.需求分析:32.设计要求:33.总体设计:3三、运行结果及分析51.程序运行测试:52.测试数据:53.结果及分析6附录7四则运算的程序:7摘要在工资管理软件中,不可避免的要用到公式的定义及求值等问题。对于数
2、学表达式的计算,虽然可以直接对表达式进行扫描并按照优先级逐步计算,但也可以将中缀表达式转换为逆波兰表达式,这样更容易处理。四则运算表达式求值,将四则运算表达式用中缀表达式,然后转换为后缀表达式,并计算结果。问题描述:有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求:定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有
3、理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。10一、设计任务,目的与要求1.设计内容:四则运算显示功能要求:1)在屏幕能够手动输入待运算的带有括号的四则运算式子;2)输入完成后,通过选择可以完成运算式的运算;3)将结果显示在屏幕上。4)验收时程序能够演示,自己单独做。5)输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果。例如:输入:123+213-67*34+345/23*45。2.设计目的:1)复习、巩固C++
4、语言的基础知识,进一步加深对C++语言的理解和掌握。2)课程设计为将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。提高适应实际,实践编程的能力。3.设计要求:1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。2)系统设计要实用,编程简练,可用,功能全面。3)说明书、流程图要清楚。4)记录设计情况(备查,也为编写设计说明书作好准备)。5)要求采用模块化程序设计方法,要求上机调试通过和按设计报告格式。6)设计上交内容:设计报告一人一份(按格式书写);源程序文件。10二、概要设计1.需求分析:1
5、.四则运算表达式求值,将四则运算表达式用中缀表达式,然后转换为后缀表达式,并计算结果。2.用户通过键盘输入一个中缀表达式,回车表示结束。3.在Dos界面输出后缀表达式。4.测试数据输入:21+23*(12-6)输出:2123126-*+2.设计要求:实现带有括号的四则运算。输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果。算法的设计:设有两个有理数a*b和c/d,则有(1)有理数相加计算式=a*d+b/c;(2)有理数相减计算式=a*d-b/c;(3)有理数相乘计算式=a*(b+c-d);(4)有理数相除计算式=a/d;输入:123+213-67*34+345/
6、23*45*(34+34-345+245+567)回车,然后程序计算得出结果为:359183。3.总体设计:算法的基本思想:建树是本程序的难点。思路很直观,就是按照每次查找当前表达式区间的最后一次运算的运算符然后以这个运算符为根把区间分成左右进行递归建树。比如1+2*(1+2),最后一次运算是1+2*(1+2)标记为红色的加号,把它作为根节点然后把表达式分为“1”和“2*(1+2)”10进行递归,函数返回的是该函数处理区间表达式的根节点。判断最后运算的运算符(即根节点)的方法是找表达式中最右边的不在括号中的+或-,如果没有那就选最右边的不在括号中的*或/。根据此算法设计流程图为
7、:10三、运行结果及分析1.程序运行测试:在电脑中打开C++应用程序,首先进入VC++6.0,将程序代码输入,编译,组建,调试。观察运行结果,和各个功能情况。针对有理数的各种算法,首先要定义一个有理数类,在类中定义两个整型变量作为私有数据,分别存放有理数的分子和分母;其次,要对有理数进行各种不同的操作,如加、减、乘、除、判断两个有理数是否相等等各种关系运算,有理数是通过分数形式来进行各种运算的,有理数的加减乘除,并不是简单的分子与与分子相加减,分母与分母相加减,故要实现它的各种不同的运算,则
此文档下载收益归作者所有