ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:163.80KB ,
资源ID:12064224      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12064224.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++课程设计.docx

1、c+课程设计计算机学院C+课程设计报告( 2011 - 2012 年度第 1学期)计算器的设计专业网络工程学生姓名王芬班级网102班学号109074337指导教师陈学进完成日期2011年12月10日课题名称:计算器的实现说明:实现一个计算器。1.系统目标我们在学习生活中,常会遇到一些繁杂的数值运算,这时候我们就必须用到科学计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。要计算功能有以下几个方面:加法,减法,乘法,除法,求幂,求平方根等2.系统功能划分序号文件名主要功能备注1+加法求和两个操作数2-减法求差两个操作数3乘法求积两个操作数4除法求商两个操作数5xy求x的y次幂两个操

2、作数6sqrt求平方根一个操作数7X2求平方一个操作数81/x求倒数一个操作数9ln求对数一个操作数10log求对数一个操作数11X3求三次方一个操作数1210x求十次幂一个操作数13=等于14CE删除所有字母15BACKSPACE删除一个字母 1) 假设执行操作“+”,先输入一个数,再按“+”,再输入另一个数,最后按“=”。整个功能“+”就执行完毕。 2)执行操作“x2”,先输入一个数,在按“x2”,或先按“x2”,在输入一个数,最后按“=”。整个功能“x2”就执行完毕。 3)执行操作“xy”,先输入一个数,在按“xy”,在输入一个数,最后按“=”。整个功能“xy”就执行完毕。3.计算器状态

3、 CE表示清零 CE状态输入数字进入状态A,在A状态下可以通过不同方式进入B或C状态(A状态输入双元运算符进入B状态,A状态输入单元运算符进入C状态) B状态可以通过单元运算符或数字进入C状态,等于号结束运算; 在C状态只能按等号才能结束; 在D状态可以接受数字,双元运算符,单元运算符,进入下一次运算。 实例:5=25 如果只输入一个数字,为状态A,按下双元运算符,为状态B,系统自认先前数字为第二个数字,进入D状态。4.计算器测试 1/6.251=0.159974 5.264*9.5264=50.146069 9.526714-9.873642=-0.346928 5.216384的三次方为1

4、41.941254 ln1.526345=0.422876CalculatorDlg.h部分类定义public: CCalculatorDlg(CWnd* pParent = NULL); / standard constructor CString strMess1,strMess2; float num1,num2,result; char click;/ Dialog Data /AFX_DATA(CCalculatorDlg) enum IDD = IDD_CALCULATOR_DIALOG ; CButton m_clickone; CEdit m_edit; CalculatorD

5、lg.cpp部分代码void CCalculatorDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CCalculatorDlg) DDX_Control(pDX, IDC_NUM_ADD, m_clickone); DDX_Control(pDX, IDC_DISPLAY, m_edit); / NOTE: the ClassWizard will add DDX and DDV calls here /AFX_DATA_MAPvoid CCalculatorDlg:OnNum

6、9() strMess1+=9; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum8() strMess1+=8; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum7() strMess1+=7; m_edit.SetWindowText(st

7、rMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum6() strMess1+=6; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum5() strMess1+=5; m_edit.SetWindowText(strMess1);/ TODO: Add your control notific

8、ation handler code here void CCalculatorDlg:OnNum4() strMess1+=4; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum3() strMess1+=3; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculator

9、Dlg:OnNum2() strMess1+=2; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum1() strMess1+=1; m_edit.SetWindowText(strMess1); / TODO: Add your control notification handler code here void CCalculatorDlg:OnNum0() / TODO: Add your control no

10、tification handler code here strMess1+=0; m_edit.SetWindowText(strMess1);void CCalculatorDlg:OnNumAdd() / TODO: Add your control notification handler code here m_edit.GetWindowText(strMess1); num1=atof(strMess1); /m_edit.SetWindowText(); strMess1=; click=+;void CCalculatorDlg:OnNumMinus() m_edit.Get

11、WindowText(strMess1); num1=atof(strMess1); strMess1=; click=-; void CCalculatorDlg:OnNumM() m_edit.GetWindowText(strMess1); num1=atof(strMess1); strMess1=; click=*;void CCalculatorDlg:OnNumD() m_edit.GetWindowText(strMess1); num1=atof(strMess1); /m_edit.SetWindowText(); strMess1=; click=/;void CCalc

12、ulatorDlg:OnA() click=p; void CCalculatorDlg:OnNumSqrt() click=s;void CCalculatorDlg:OnNumS() click=l;void CCalculatorDlg:OnNumGet() m_edit.GetWindowText(strMess1); num2=atof(strMess1); CString str; switch(click) case +: /if(clickadd=+) num1+=num2; break; case -: num1-=num2; break; case *: num1*=num

13、2; break; case l: num1=1/num2; break; case /: num1/=num2; break; case s: if (num20) AfxMessageBox(函数输入无效!); return; num1=sqrt(num2); break; case p: num1=num2*(-1); break; case 10: num1 = pow(num1,num2); break; case 11: num1= pow(10,num2); break; case 12: num1=num2*num2*num2; break; case 13: if (num2

14、=0) AfxMessageBox(函数输入无效!); return; num1 = log(num2); break; case 14: if (num2=0) AfxMessageBox(函数输入无效!); return; num1 = log10(num2); break; case 17: num1=num2*num2; break; default: AfxMessageBox(请选择做的那种运算!); m_edit.GetWindowText(strMess1); int size=strMess1.GetLength(); strMess1.Delete(0,size); m_e

15、dit.SetWindowText(strMess1); click=0; str.Format(%f,num1); m_edit.SetWindowText(str); /显示结果 / TODO: Add your control notification handler code here void CCalculatorDlg:OnCe() m_edit.GetWindowText(strMess1); int size=strMess1.GetLength(); strMess1.Delete(0,size); m_edit.SetWindowText(strMess1); / TOD

16、O: Add your control notification handler code here void CCalculatorDlg:OnBackspace() m_edit.GetWindowText(strMess1); int size=strMess1.GetLength(); strMess1.Delete(size-1,1); m_edit.SetWindowText(strMess1);void CCalculatorDlg:OnDot() strMess1+=.; m_edit.SetWindowText(strMess1);void CCalculatorDlg:On

17、NumJc() click=17;void CCalculatorDlg:OnNum10() m_edit.GetWindowText(strMess1); num1=atof(strMess1); /m_edit.SetWindowText(); strMess1=; click=10;/ TODO: Add your control notification handler code here void CCalculatorDlg:OnNum11() click=11;void CCalculatorDlg:OnNum12() click=12;void CCalculatorDlg:OnNum13() click=13;void CCalculatorDlg:OnNum14() click=14;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1