计算器设计类.docx
- 文档编号:18345820
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:19
- 大小:244.40KB
计算器设计类.docx
《计算器设计类.docx》由会员分享,可在线阅读,更多相关《计算器设计类.docx(19页珍藏版)》请在冰点文库上搜索。
计算器设计类
面向对象程序设计大作业
------字符串类(或计算器类)
学院名称
专业班级班
学生姓名
学号指导教师
完成时间:
2013年5月20日
计算器类
1.编程目的
2.系统简介
3.编程思路
4.总体设计(附类图)
5.关键技术说明
6.源代码
7.测试(主界面及各功能模块的运行图及说明)
8.系统评价及展望
1、编程目的
当今社会是信息社会,科技经济高速发展的社会,为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。
由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活的必备品。
因此此次课程设计我选择了计算器类的设计与使用,它能即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
编程实现计算器类,使其能进行整数及实数的加、减、乘、除、平方、开方等基本运算,能进行二进制,十进制,八进制,十六进制数值之间的转换,以及能进行三角函数的计算。
在本次实验中尽最大努力完成计算器类设计的基本功能,进一步掌握与应用C++语言进行面向对象程序设计。
在实践编程中训练总体设计思维能力,模仿并体验软件设计过程,加强动手能力、思考能力、逻辑思维能力等。
2、系统简介
在本次的课程设计中,系统开发平台为WindowsXP,程序设计语言采用VisualC++6.0。
vc++是Windows平台上的C++编程环境。
VC++应用程序的开发主要有两种模式,一种是
WINAPI方式,另一种则是MFC方式,传统的WINAPI开发方式比较繁琐,而MFC则是对WINAPI再次封装,所以MFC相对于WINAPI开发更具备效率优势,vc6.0的优点是界面简洁,占用资源少,操作方便。
计算器类的设计与实现是在VC++6.0环境下设计与实现的,总体要求是:
通过该软件实现计算器的基本功能,主要实现的功能有:
●计算器类的创建。
●该计算器类可以进行加、减、乘、除、平方、开方,以及进制间的互相转换的操作。
●可以用括号输入表达式,每次可运算多个表达式。
●实现数据的输入,输出,计算,显示及程序退出等功能。
●排错,当用户输入错误的表达式时提示用户。
3、编程思路
建立名为jisuanqi的工程,工程内包含四个.cpp文件和六个.h文件
要实现计算器的各类简单功能,首先采用类的设计思想,将计算器功能封装成类以实现计算器的功能。
运行程序时首先向用户提示“请选择需要的运算!
”提供“1、2、3”三个程序接口,分别进行计算器简单运算,三角函数运算和进制转换运算,根据用户指令,调用相应的函数文件。
用户输入要计算的数值后按回车键即可的运算结果。
为实现功能,先定义
1、实现计算器的基本功能
为实现加、减、乘、除、开方、平方基本运算,建立
创建calculator类,实现封装。
在该模块中,首先提示用户进入计算器简单运算状态“欢迎使用计算器运算数据!
”按回车后提示用户输入数据,“输入你想运算的两个数和运算符!
”继续运行则提示用户选择运算符的位置,具体形式如下:
“1运算符中缀”
“2运算符后缀”
“3运算符前缀”
按“回车键”后即可显示正确的结果
2、实现三角函数运算
建立<..Function.cpp>文件,定义Function函数,为让用户明确使用,提示用户选择要使用的函数,根据指令,通过swith-case语句,实现用户要使用的函数功能。
但要注意的是在调用tan函数时,pi/2的倍数是在tan函数的定义域之外的,所以必须提示用户不要输入pi/2的倍数。
同样使用swhitch函数,来实现不同三角函数的功能。
3、实现进制转换运算
本程序提供六种进制转换,分别是:
‘十进制转换为十进制’,‘十进制转换为二进制’,"十进制转换为八进制",‘十进制转换为十六进制","八进制转换为十进制",‘十六进制转换为十进制"。
同样用switch语句控制执行用户需要的进制转换运算。
最后输出程序运行结果。
四、总体设计
系统流程图
clculate
+compute():
void
类图
5、源代码
//calculator.h
#ifndefCALCULATOR_H
#defineCALCULATOR_H
#include
#include
#include
usingnamespacestd;
classcalculator
{
private:
public:
voidcompute();
};
voidcalculator:
:
compute()
{
doublea,b;
chars;
cout<<"欢迎使用计算器运算数据!
"< cout<<"本计算器能计算的简单运算有: +,-,*,/,^,s"< cout<<"输入你想要运算的两个数和运算符。 "< cout<<"1运算符中缀"< cout<<"2运算符后缀"< cout<<"3运算符前缀"< intn; cin>>n; switch(n){ case1: cin>>a; cin>>s; cin>>b; break; case2: cin>>a; cin>>b; cin>>s; break; case3: cin>>s; cin>>a; cin>>b; break; } switch(s){ case'+': cout<<"="<<(a+b)< break; case'-': cout<<"="<<(a-b)< break; case'*': cout<<"="<<(a*b)< break; case'/': if(b! =0) { cout<<"="<<(a/b)< }else cerr<<"Error! "< break;//除法运算 case'^': cout<<"="< break;//平方运算 case's': cout<<"="< break; } } #endif //Function.cpp #include"Function.h" #include #include #include usingnamespacestd; voidFunction: : count() { cout<<"欢迎使用三角函数运算程序! "< cout<<"请输入所要计算的函数sin,cos,tan,本计算器只支持这三种三角函数运算。 "< cout<<"并输入所要计算的度数,如60,50。 但在运算tan时请不要输入π/2的倍数。 "< cout<<"1sin"< cout<<"2cos"< cout<<"3tan"< ints; doubledegree; cin>>s; cout<<"请输入度数: "< cin>>degree; switch(s){ case1: cout<<"sin"< break; case2: cout<<"cos"< break; case3: cout<<"tan"< break; } } //Function.h #ifndefFUNCTION_H #defineFUNCTION_H classFunction { private: public: voidcount(); }; #endif //translate.cpp(进制转换函数) #include"translate.h" #include #include usingnamespacestd; voidp(intnum); voidtranslate: : f(intx,inty) { cout<<"欢迎使用进制转换程序! "< cout<<"1.十进制转换为十进制"< cout<<"2.十进制转换为二进制"< cout<<"3.十进制转换为八进制"< cout<<"4.十进制转换为十六进制"< cout<<"5.八进制转换为十进制"< cout<<"6.十六进制转换为十进制"< cout<<"请选择输入数据的进制: "< intc,n; cin>>c; switch(c){ case1: cout<<"请输入十进制数据: "< cin>>n; cout<<"转换结果: "< cout< break; case2: cout<<"请输入十进制数据: "< cin>>n; cout<<"转换结果: "< p(n); break; case3: cout<<"请输入十进制数据: "< cin>>n; cout<<"转换结果: "< cout< break; case4: cout<<"请输入十进制数据: "< cin>>n; cout<<"转换结果: "< cout< break; case5: cout<<"请输入八进制数据: "< cin>>oct>>n; cout<<"转换结果: "< cout< break; case6: cout<<"请输入十六进制数据: "< cin>>hex>>n; cout<<"转换结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)