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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

用VC60编写计算器程序.docx

1、用VC60编写计算器程序用C编写计算器程序一、计算器介绍 1. 计算器主界面1.1、计算器打开运行后界面如下所示:1.2主界面的说明主界面主要由三部分组成: 文本框:用于数据的输入(可由下面的按钮或键盘输入),以及计 算结果的输出; 基本计算区:主要可用于数字的输入以及简单的加减乘除的计算,还有可用于清楚文本框的数据; 数学函数计算区:主用可实现基本常用的数学函数的计算,包括常用的三角函数和反三角函数以及e指数、开平方和以e和10为底对数的计算。 2.计算器的操作说明及注意事项2.1、基本操作:使用计算器进行基本数据计算时通过键盘及基本计算区的按钮输入数据,然后根据计算需要点击“+、-、*、/

2、”按钮,然后点击”=”按钮得出计算结果。若需使用函数计算时,可先输入数据,然后点击对应使用函数的按钮即可得出结果。特别的,对于三角函数的计算时,可点击单选框“弧度制”、“角度制”以实现弧度制及角度制数据的三角计算。2.2、注意事项: 使用除法计算时应注意不能使被除数为0,否则会出错: 出现此错误时只需点击确定即可继续之前的计算。 在使用三角函数时应先确定所输入的数据是角度制还是弧度制的数据,否则计算器会跳出提醒框,如下所示: 而计算反三角函数时只能计算弧度制数据得到角度制结果:在使用常用函数进行计算时应特别注意所输入的数应满足函数的定义域,使函数有意义,否则会出错: 另注:当所得数据很小时会以

3、科学计数法的形式输出:其中e-002即表示10-2。二、MFC编程的实现1. 计算器主界面的设计1.1、建立对话框1. 启动Visual C+ 6.0集成开发环境2. 创建对话框类型应用程序在【工程】选项卡中选择【MFC AppWizard】应用程序类型,工程文件名为Calculator。单击确定后选择【基本对话】建立基本对话框应用程序。1.2、添加控件,设计界面界面设计如下所示:2. 控件ID及变量 控件: ID: IDC_NUM1 IDC_NUM2 IDC_NUM3 IDC_NUM4 IDC_NUM5消息函数: OnNum1 OnNum2 OnNum3 OnNum4 OnNum5 控件:

4、ID: IDC_NUM6 IDC_NUM7 IDC_NUM8 IDC_NUM9 IDC_NUM12消息函数: OnNum6 OnNum7 OnNum8 OnNum9 OnNum12 控件: ID: IDC_NUM10 IDC_ADD IDC_SUBTRACT IDC_MULPTIPLY IDC_DIVISION 消息函数: OnNum10 OnAdd OnSubtract OnMulptiply OnDivision 控件: ID: IDC_EQUAL IDC_BACKSPACE IDC_CLEAR1 IDC_Exit消息函数: OnEqual OnBackspace OnClear1 OnE

5、xit 控件: ID:IDC_RADIO1 IDC_RADIO2 IDC_SIN IDC_ARCSIN IDC_COS IDC_TAN消息函数: OnRadio1 OnRadio2 OnSin OnArcsin OnCos OnTan 控件: ID:IDC_ARCCOS IDC_ARCTANV IDC_EXP IDC_SQRT IDC_LN IDC_LOG 消息函数: OnArccos OnArctan OnExp OnSqrt OnLn OnLog 编辑框为IDC_EDIT1,定义类型为CEdit的变量m_Edit1.3. 程序代码的实现3.1、定义变量1) 向CalculatorDlg.h

6、的CCalculatorDlg类定义中添加public型变量:2) 在CalculatorDlg.cpp中定义四个全局变量;3) 控件函数代码的实现 数字输入按钮下函数的实现以下是数字键的函数的代码,其余以此类推void CCalculatorDlg:OnNum1() / TODO: Add your control notification handler code here CString t; GetDlgItem(IDC_NUM1)-GetWindowText(t); /获取按钮的数字 t=Num+t; /字符串连接 m_Edit1.SetWindowText(t);/在编辑框中显示

7、Num=t; 退格键及清屏键函数代码的实现void CCalculatorDlg:OnBackspace() /退格 Num=Num.Left(Num.GetLength()-1); /使Num的长度减1 m_Edit1.SetWindowText(Num);void CCalculatorDlg:OnClear1() /清楚屏幕 / TODO: Add your control notification handler code here m_Edit1.SetSel(0,-1); m_Edit1.ReplaceSel( ); Num= ; result=0; control=0; Upda

8、teData(FALSE); 计算的实现,按钮下程序代码的实现:void CCalculatorDlg:OnAdd() /加法运算 / TODO: Add your control notification handler code here char cs30; double add; m_Edit1.GetWindowText(cs,30); add=atof(LPCTSTR)cs); switch(control) /每次计算之前前进行之前的运算 case 0: result=add;break; /第一个数应存储 case 1: result=result+add;break; cas

9、e 2: result=result-add;break; case 3: result=result*add;break; case 4: if(add=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control赋初值 return; else result=result/add;break; control=1; char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(

10、ed); Num= ; UpdateData(FALSE);void CCalculatorDlg:OnSubtract() /减法运算 / TODO: Add your control notification handler code here char cs30; double sub; m_Edit1.GetWindowText(cs,30); sub=atof(LPCTSTR)cs); switch(control) /每次计算之前前进行之前的运算 case 0: result=sub;break; /第一个数应存储 case 1: result=result+sub;break;

11、case 2: result=result-sub;break; case 3: result=result*sub;break; case 4: if(sub=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control回到初值 return; else result=result/sub;break; control=2; char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowT

12、ext(ed); Num= ;void CCalculatorDlg:OnMulptiply() /乘法运算 / TODO: Add your control notification handler code here char cs30; double sub; m_Edit1.GetWindowText(cs,30); sub=atof(LPCTSTR)cs); switch(control) /每次计算之前前进行之前的运算 case 0: result=sub;break; /第一个数应存储 case 1: result=result+sub;break; case 2: result

13、=result-sub;break; case 3: result=result*sub;break; case 4: if(sub=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control回到初值 return; else result=result/sub;break; control=3; char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num=

14、;void CCalculatorDlg:OnDivision() /除法运算 / TODO: Add your control notification handler code here char cs30; double sub; m_Edit1.GetWindowText(cs,30); sub=atof(LPCTSTR)cs); switch(control) /每次计算之前前进行之前的运算 case 0: result=sub;break; /第一个数应存储 case 1: result=result+sub;break; case 2: result=result-sub;bre

15、ak; case 3: result=result*sub;break; case 4: if(sub=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control回到初值 return; else result=result/sub;break; control=4; char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; 等于的实现 void CC

16、alculatorDlg:OnEqual() /等于的实现 / TODO: Add your control notification handler code here char cs30,seq50; double equal; switch(control) case 1: m_Edit1.GetWindowText(cs,30); equal=atof(LPCTSTR)cs); result=result+equal; _gcvt(result,50,seq); m_Edit1.SetWindowText(seq); Num= ; result=0; control=0; break;

17、 case 2: m_Edit1.GetWindowText(cs,30); equal=atof(LPCTSTR)cs); result=result-equal; _gcvt(result,50,seq); m_Edit1.SetWindowText(seq); Num= ; result=0; control=0; break; case 3: m_Edit1.GetWindowText(cs,30); equal=atof(LPCTSTR)cs); result=result*equal; _gcvt(result,50,seq); m_Edit1.SetWindowText(seq)

18、; Num= ; result=0; control=0; break; case 4: m_Edit1.GetWindowText(cs,30); equal=atof(LPCTSTR)cs); if(equal=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control回到初值 return; else result=result/equal; _gcvt(result,50,seq); m_Edit1.SetWindo

19、wText(seq); Num= ; result=0; control=0; break; 以下是角度制和弧度制的实现代码void CCalculatorDlg:OnRadio2() /角度制 / TODO: Add your control notification handler code here math=2;void CCalculatorDlg:OnRadio1() /弧度制 / TODO: Add your control notification handler code here math=1; 数学函数的实现,以下给出和的程序代码,其余函数依此类推即可得到:void CC

20、alculatorDlg:OnSin() /正弦函数计算的实现 / TODO: Add your control notification handler code here char cs30; double sub; m_Edit1.GetWindowText(cs,30); sub=atof(LPCTSTR)cs); switch(control) /先进行判断之前是否有简单运算 case 0: break; case 1: sub=result+sub;break; case 2: sub=result-sub;break; case 3: sub=result*sub;break;

21、case 4: if(sub=0) MessageBox(除数不能为0!请重新输入.); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; /control回到初值 return; else sub=result/sub;break; switch(math) case 0: MessageBox(计算三角函数前请选择单位制!);return; case 1: break; case 2: sub=(sub*pi)/180;break; result=sin(sub); char ed50; _gcvt(result,50,ed); m_Edit1.SetWindowText(ed); Num= ; control=0; UpdateData(FALSE);void CCalculatorDlg:OnArcsin() /arcsin函数计算的实现 / TODO: Add your control notification handler code here char cs30; double sub; m_Edit1.GetWindowText(cs,30); sub=atof(LPCTSTR)cs); switch(control) /先进行判断之前是否有简单运算

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2