欢迎来到天天文库
浏览记录
ID:14331494
大小:123.00 KB
页数:23页
时间:2018-07-28
《《c 高级语言程序设计》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-23-《高级语言程序设计》课程设计报告设计题目简单计算器专业计算机科学与工程班级2010级姓名刘一帆学号101114008二零一一年六月-23-目录1.设计目标……………………………………………32.设计思想……………………………………………33.类的设计……………………………………………44.程序源代码…………………………………………55.调试记录……………………………………………216.总结…………………………………………………227.参考资料……………………………………………23-23-简单计算器1.
2、设计目标1.1设计题目描述本程序能够根据需要进行简单的计算,比如加减乘除及其混合运算,三角函数运算,指数、对数的运算等等。1.2设计目标本程序要求实现如下功能:根据需要选择自己要计算的方式,按照指示输入要计算的数字,可以进行多次计算,直到算完为止。通过设计本程序,掌握中小型规模(600行以上源程序)程序的设计、开发、调试的全过程;掌握类、对象的使用方法;掌握函数使用技巧;掌握C++栈类模板的使用,掌握多文件结构的使用方法。2.设计思想在本程序的设计初期,定义了一个Calculate类,以实现加减乘除等基本的运
3、算,对于四则混合运算则无法完成,所以又运用了栈类来实现,在此栈类中,定义了两个类:S_tack类和Caculator-23-类。然后,在此基础上,针对各项功能的需要再在细节上加以完善,增加其可行性与完整性。等整个程序调试基本成功后,又根据平时需要,添加了一些常用的功能,如取余、倒数、自然对数、常用对数等运算,使本计算器的功能更加全面,更实用。最后,将程序编写成多文件结构,由S_tack.h、Caculator.h、kecheng.h、kecheng.cpp四个文件构成。1.类的设计本程序定义了三个类:Calc
4、ulate类、S_tack类和Calculator类。(1)在Calculate类中,包括私有成员变量三个:xx,yy,zz。另外有共有成员函数如下:1.voidAdd();//实现加法运算2.voidMinus();//实现减法运算3.voidMultip();//实现乘法运算4.voidDivid();//实现除法运算5.voidSin();//调用系统中的sin(x)函数实现正弦函数运算6.voidCos();//调用系统中cos(x)函数实现余弦函数运算7.voidTan();//调用系统中的tan(
5、x)函数实现正切函数运算8.voidAsin();//调用系统中的asin(x)函数实现反正弦函数运算9.voidAcos();//调用系统中的acos(x)函数实现反余弦函数运算10.voidAtan();//调用系统中的atan(x)函数实现反正切函数运算11.voidPower();//调用系统中的pow(i,n)函数实现指数运算12.voidSqrt();//调用系统中的sqrt(x)函数实现平方根运算13.voidMode();//实现取余运算-23-14.voiddaoshu();//实现倒数运算
6、15.voidLn();//调用系统中的log(a)函数实现自然对数的运算16.voidLg();//调用系统中的log10(a)函数实现常用函数的运算(2)在S_tack类中,有私有成员变量top,element。还包含共有成员函数:1.S_tack();//构造函数2.~S_tack();//析构函数3.Tpop();//将栈顶元素弹出栈4.voidpush(Thaha);//将元素haha压入栈5.Tdata();//返回栈顶元素,不执行栈指针跳动操作6.boolisEmpty()const;//测试是
7、否栈空7.boolisEmpty()const;//测试是否栈满(3)在Caculator类中,包含私有成员S_tackNunStack和S_tackSingStack。另外包含共有成员函数:1.voidgo();2.boolisNun(char);//判断输入是否为数3.boolisOprator(char);//判断输入是否为操作符4.voidGetChar(char&ch);5.boolgetTowOperands(double&a,double&b);6.intInStac
8、k(char);//栈内优先级7.intOutStack(char);//栈外优先级8.voiddoOprator(char);//执行二元操-23-1.程序源代码//头文件1S_tack.hintMAX=15;//MAX为栈的大小template//模板的定义classS_tack{public:S_tack();//构造函数~S_tack();//析构函数Tpop();//将栈顶
此文档下载收益归作者所有