简单计算器c++课程设计报告书

上传人:彩*** 文档编号:75200628 上传时间:2022-04-15 格式:DOCX 页数:49 大小:158.46KB
收藏 版权申诉 举报 下载
简单计算器c++课程设计报告书_第1页
第1页 / 共49页
简单计算器c++课程设计报告书_第2页
第2页 / 共49页
简单计算器c++课程设计报告书_第3页
第3页 / 共49页
资源描述:

《简单计算器c++课程设计报告书》由会员分享,可在线阅读,更多相关《简单计算器c++课程设计报告书(49页珍藏版)》请在装配图网上搜索。

1、下载可编辑简单计算器1 基本功能描述简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示, 同时包含清除、 退格、退出功能以及有与所有按钮相对应的菜单项。2 设计思路如图 1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入, 如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有, 则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用U

2、pdateData(FALSE)刷新显示。如图 2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组az+2 中,把运算符存入bz+1 中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a0,不合法,则弹出对话框,提示错误。结束程序。.专业 .整理 .下载可编辑开始输入一个数字之前是否有数字输入?pass3=1?NY在之前输入的数字字符后直接使编辑框显示所面加上现在的数字字符。输入的数字字符。Eg: m_str+=” 9”。Eg: m_str= ”9”。pass3=1 表

3、示已有数字输入Y继续键入数字?N用 UpdateData(FALSE)刷新显示图 1 输入数据子函数流程图.专业 .整理 .下载可编辑开始输入双目运算符是否每一个操作数都存入 a 数组?N把操作数存入a z+2,把运算符存入 b z+1 。N弹出对话框提示错误结束单目运算符Y将字符串转换为可计算的数进行运算运算是否合法?Y将结果存入 a0图 2 简单计算器总流程图.专业 .整理 .下载可编辑3 软件设计3.1 设计步骤打开 Microsoft Visual C+6.0,在文件中点击新建,在弹出框选择MFCAppWizardexe 工程,输入工程名及其存储路径,点击确定,如图3 所示。图 3 新

4、建 MFC AppWizardexe 工程将弹出 MFCAppWizard-step1 对话框,选择基本对话框,点击完成,如图 4 所示。图 4 基本对话框这样, MFC AppWizard就建立了一个基于对话窗口的程序框架,如图5 所示。.专业 .整理 .下载可编辑图 5 新建的对话框3.2 界面设计1、创建控件在 图5所 示 的ResoureView选 项 卡 中 打 开Dialog资 源 组 , 双 击IDD_LUXIAOYING_DIALOG,在右边的窗口中显示出待编辑的对话框。开始摆放控件,包括编辑框和按钮的创建。按钮的创建以“0”为例进行介绍,其他按钮的创建可参照此进行操作。1 )

5、在图 5 中控件的“编辑框”按钮上单击鼠标左键,在对话框编辑窗口上合适的位置按下鼠标左键并拖动鼠标画一个大小合适的编辑框。 在编辑框上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时弹出 Edit 属性对话框,如图 6 所示,在该对话框中输入 ID 属性。.专业 .整理 .下载可编辑图 6 Edit 属性对话框2 )在图 5 中控件的“ Button ”按钮上单击鼠标左键,在对话框上的合适的位置按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。 在按钮上单击鼠标右键,在弹出的快捷菜单中选择属性选项, 此时弹出 Push Button 属性对话框,如图 7 所示,在该对话框中输入 ID 值和

6、标题属性。图 7 Push Button 属性按照上面的操作过程编辑其他按钮和编辑框等对象的属性。表 1 各按钮和编辑框等对象的属性对象ID标题或说明.专业 .整理 .下载可编辑编辑框IDC_RESULT_EDIT显示按钮IDC_0_BUTTON10按钮IDC_1_BUTTON21按钮IDC_2_BUTTON32按钮IDC_3_BUTTON43按钮IDC_4_BUTTON54按钮IDC_5_BUTTON65按钮IDC_6_BUTTON76.专业 .整理 .下载可编辑续表 1对象ID标题或说明按钮IDC_7_BUTTON87按钮IDC_8_BUTTON98按钮IDC_9_BUTTON109按钮I

7、DC_OR_BUTTON11+/-按钮IDC_DIAN_BUTTON12.按钮IDC_JIA_BUTTON13+按钮IDC_JIAN_BUTTON14-按钮IDC_CHENG_BUTTON15*按钮IDC_CHU_BUTTON16/按钮IDC_CLEAR_BUTTON17 Clear按钮IDC_SQRT_BUTTON18 sqrt按钮IDC_DAOSHU_BUTTON19 1/x按钮IDC_DENGYU_BUTTON20=按钮IDC_LN_BUTTON21ln按钮IDC_MI_BUTTON2210x按钮IDC_COS_BUTTON23cos按钮IDC_SIN_BUTTON24sin按钮IDC_

8、TUIWEI_BUTTON Backspace按钮IDC_LOG_BUTTON26log.专业 .整理 .下载可编辑续表 1对象ID标题或说明按钮IDC_TAN_BUTTON27tan按钮IDC_JIECHENG_BUTTON28 n!完成后界面如图8 所示图 8 计算机界面2 连接变量和代码1)给编辑框连接变量。在编辑框上单击鼠标右键,在弹出的菜单中选择建立类向导菜单项,弹出MFC ClassWizard 对话框,选择 Member Variables选项卡,如图 9 所示。2)在 Control IDs 列表框中选择 IDC_RESULT_EDIT,单击 Add Variables 按钮,

9、在弹出的对话框中连接变量 m_str 。变量类型设定为 CString 型。如图 10 所示。.专业 .整理 .下载可编辑图 9 MFC ClassWizard 对话框中的 Member Variables 选项卡图 10 m_str 属性设置2)给“ 0”按钮连接代码。在“ 0”按钮上单击鼠标右键,选择建立类向导菜单项,在弹出的对话框中选择 Messages Maps选项卡,然后在 Object IDs 列表框中选择 IDC_0_BUTTON1,在 Messages列表框中选择 BN_CLICKED项,即选择单击按钮事件,如图 11 所示。.专业 .整理 .下载可编辑图 11 “ 0”按钮连

10、接代码对话框3 菜单的设计选择插入 / 资源命令,将显示插入资源对话框,如图12 所示。选择Menu,单击新建即可。图 12 插入资源对话框ResoureView 选项卡中打开 Menu资源组,双击 IDR_MENU1,然后给菜单添加相应的标题 , 并把每个菜单对应的ID 值与相应的按钮的一致。如图13 所示。.专业 .整理 .下载可编辑图 13 菜单属性对话框在对话框的任何一个空白域单击鼠标右键, 然后在弹出的快捷菜单中选择属性命令,弹出对话属性对话框,如图14 所示。在对话框中的菜单组合框中选择IDR_MENU1。图 14 对话属性对话框最终得到的界面如图 15 所示。.专业 .整理 .下

11、载可编辑图 15 计算器完整界面3.3关键功能的实现1)操作数、小数点以及双目运算符的输入编辑框所关联的变量为m_str, 程序开始时为零。 每按下一个数字键按钮、 双目运算符按钮或小数点按钮,就把它累加到m_str 里并刷新显示。 BOOL型变量pass1 判断之前是否有操作符输入,有,则 pass 为 1;无,则为 0。BOOL型变量 pass2 判断是否有小数点,有,则为 0;无,则为 1; BOOL型变量 pass3 判断之前是否有数字输入,有,则为 0;无,则为 1。2)单目运算符功能的实现由于所输入的操作数类型为 String 类,所以需要将其转化为数字才能进行运算。首先,将比率

12、rate 赋值为 10,将每一位输入的字符与 0字符做差,得到他们 ASCII 值的差,在遇到小数点之前, 将这些差值通过循环求和以及乘以rate 值得到字符串所表达的数值的整数部分,然后,当遇到小数点时,将 rate 赋值为 0.1 ,再通过类似的计算方法得到字符串所表达的数值的小数部分, 最后,将所得数值的整数部分和小数部分合在一起赋值给变量a,再通过单目运算符作用于 a 上即可实现相应功能。3)双目运算符功能的实现由于所输入的操作数类型为String类,所以要通过与单目运算符中类似的方.专业 .整理 .下载可编辑法将其转换为数值, 再进行相关运算。 对于双目运算符功能中操作数和操作符的区

13、分,可以将它们分别存储在数组a 中和数组 b 中加以区分,再进行计算。4)退格键功能的实现如果 m_str 中有字符串,则每次按下退位键都将去掉最右边一个字符剩下的字符串重新赋值给m_str ,从而实现退位功能。如果,m_str 中本来就没有字符串,则将字符 0赋值给 m_str 。5)正负号功能的实现由于所输入的操作数类型为String类,所以要通过与单目运算符中类似的方法将其转换为数值, 再进行相关运算。 对于正负号功能, 只要在原来数值的前面加一个负号,即可实现相应功能。4 结论与心得体会经过多次调试,设计的计算器可以实现本次要求的所有功能。此次 VC+课程设计,在同学的帮助下,顺利完成

14、,收获也很大。本学期我们开设了面向对象程序设计与 VC+实践这门课,其中 MFC部分皆是需要实践的,所以,此次课程设计是很及时、很有必要的。这样,不仅能加深我们对MFC程序设计的掌握,而且,还能让我们真正做到学以致用。课程设计刚开始的时候, 觉着比较轻松, 毕竟上课时做过简单计算器, 觉着这次的题目也不会太难。 后来,通过老师的讲解, 发现这次课程设计与平时做的计算器有很多不同, 不仅需要考虑运算的优先级, 还需要实现连续运算, 而且还有单目运算与双目运算的不同等一系列新的问题。 但是,真正开始做的时候, 通过查找资料和与同学的交流, 渐渐有了头绪。 在完成过程中, 仍然避免不了会遇到一些问题

15、,这时,不仅需要思考,还需要查阅相关资料来解决。当然,做课程设计,基本知识是必备的。只有具有了一定的基础知识,才能在课程设计过程中高质高效完成。同时,也不能请示任何一道题, 每一道题都有它自己的难点。这次课程设计让我学到了很多,不仅巩固了先前学的MFC程序设计知识, 而.专业 .整理 .下载可编辑且也培养了我的实践能力, 将理论知识与实践联系起来, 更令我的创造性思维得到了拓展。希望以后类似这样的课程设计、这样的实践机会能多一些。5 思考题1、程序中如何实现小数的显示与运算?答:编辑框所关联的变量为Cstring类的 m_str ,当输入小数点时,直接将字符 . 加在之前已输入字符后面即可。运

16、算时,通过 BOOL型变量 pass2 判断是否有小数点,有,则为0;无,则为 1。当有小数点时,在把已输入的字符串转化为相应数值时,乘以的比率rate 为 0.1 ,且每乘一次,都使rate 值变为原来 rate 值的十分之一,之后由于头文件中加了“ math.h ”, 故,再通过进行相关数学运算即可得到结果。2、描述等号对应的消息处理函数中需要处理的问题及相应的实现代码?答:等号对应的消息处理函数中需要实现双目运算符的功能和连续运算,同时还要解决运算优先级的问题,另外还需要有相应的错误提示。实现代码:void CLuxiaoyingDlg:OnDengyuButton20()/ TODO:

17、 Add your control notification handler code here int i, j, z, s, x=0, y=1, t, m=1;char b10;double rate=10.0, itemp=0.0,a20, l; for(i=0;i20;i+)ai=100000000.0;for(i=0;i10;i+)bi= ;/ 以下为双目运算;z=0;.专业 .整理 .下载可编辑for(i=0;im_str.GetLength();i+)/GetLength获得当前字节文件的逻辑/ 长度if(isdigit(m_str.GetAt(i)/isdigit若参数 c 为

18、阿拉伯数字,则/ 返回 TRUE,否则返回 NULL(0)。/m_str.GetAt(i)取出字符串中的第i个字符/ (编号从 0 起)if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0); if(i=m_str.GetLength()-1)az=itemp;elseitemp=itemp+rate*(m_str.GetAt(i)-0); rate=rate/10; if(i=m_str.GetLength()-1)az=itemp;else if(m_str.GetAt(i)=.) rate=0.1;else if(m_str.GetAt(i)=+

19、)az=itemp;itemp=0;z+;bz=+;.专业 .整理 .下载可编辑z+;rate=10.0;else if(m_str.GetAt(i)=-)az=itemp;itemp=0;z+;bz=-;z+;rate=10.0;else if(m_str.GetAt(i)=*)az=itemp;itemp=0;z+;bz=*;z+;rate=10.0;else if(m_str.GetAt(i)=/)az=itemp;itemp=0;z+;bz=/;z+;rate=10.0;.专业 .整理 .下载可编辑s=z;for(j=0;j=s;j+)/除法转换成乘法if(bj=/)if(aj+1=0

20、)MessageBox(0不能作为除数 !);elseaj+1=1/aj+1;bj=*;for(j=0;j=s;j+)/乘法,有乘号时执行乘法计算,同时注意优先级if(bj=*)if(j-t=2)at-m=at-m*aj+1;/实现连乘m=m+2;elseaj-1=aj-1*aj+1;/乘法的实现aj+1=100000000.0;bj= ;t=j;.专业 .整理 .下载可编辑for(j=0;j=s;j+)/数值和运算符的传递if(aj!=100000000.0)ax=aj;x+=2;if(bj!= )by=bj;y+=2;for(j=0;j100000000)MessageBox(您输入的数值

21、过大 !);elsem_str.Format(%1f,a0);pass1=0;.专业 .整理 .下载可编辑UpdateData(0);6 附录6.1 调试报告运行时, backspace 按键功能不能实现,点击后无任何反应。经过检查,程序和关联的相关变量等都没错误,可是该键没有响应。 在与同学讨论后, 重新添加改按钮,功能正常实现。6.2 测试结果1、输入“ 2”,“ +”,“ 6”,“ - ”,“ 3”,“ * ”,“ 9”,“ =”,并在菜单中同样输入这组操作,均得到结果如图 16。图16 结果图 12、输入“ 0”,“ ln ”,得到结果如图 17。.专业 .整理 .下载可编辑图17 结

22、果图 23、输入“ 30”,“ sin ”,得到结果如图18。图18 结果图 36.3 关键源代码1、0 到 9 的输入void CLuxiaoyingDlg:On0Button1().专业 .整理 .下载可编辑/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0)m_str+=0;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符0m_str=0;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On

23、1Button2()/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0)m_str+=1;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符1m_str=1;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On2Button3()/ TODO: Add your control notification handler code here.专业 .整理 .下载可编辑UpdateData(TRUE);

24、if(pass1=1&pass3=0)m_str+=2;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符2m_str=2;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On3Button4()/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0) m_str+=3;if(pass1=1&pass3=1)/ 在编辑框 1 的字符串后加上字符 3 m_str=3;pass3=0;UpdateData(

25、FALSE);void CLuxiaoyingDlg:On4Button5()/ TODO: Add your control notification handler code here UpdateData(TRUE);.专业 .整理 .下载可编辑if(pass1=1&pass3=0)m_str+=4;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符4m_str=4;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On5Button6()/ TODO: Add your control notification handl

26、er code here UpdateData(TRUE);if(pass1=1&pass3=0)m_str+=5;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符5m_str=5;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On6Button7()/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0) m_str+=6;if(pass1=1&pass3=1)/ 在编辑框 1 的字符串后加上字符

27、 6.专业 .整理 .下载可编辑m_str=6;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On7Button8()/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0) m_str+=7;if(pass1=1&pass3=1)/ 在编辑框 1 的字符串后加上字符 7 m_str=7;pass3=0;UpdateData(FALSE);void CLuxiaoyingDlg:On8Button9()/ TODO: Ad

28、d your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0)m_str+=8;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符8m_str=8;pass3=0;.专业 .整理 .下载可编辑UpdateData(FALSE);void CLuxiaoyingDlg:On9Button10()/ TODO: Add your control notification handler code here UpdateData(TRUE);if(pass1=1&pass3=0

29、)m_str+=9;if(pass1=1&pass3=1)/在编辑框 1 的字符串后加上字符9m_str=9;pass3=0;UpdateData(FALSE);2、加减乘除和小数点的输入void CLuxiaoyingDlg:OnJiaButton13()/ TODO: Add your control notification handler code here UpdateData(TRUE);m_str = m_str + +;/加号pass1=1;UpdateData(FALSE);void CLuxiaoyingDlg:OnJianButton14().专业 .整理 .下载可编辑/

30、 TODO: Add your control notification handler code here UpdateData(TRUE);m_str = m_str + -;/减号pass1=1;UpdateData(FALSE);void CLuxiaoyingDlg:OnChengButton15()/ TODO: Add your control notification handler code here UpdateData(TRUE);m_str = m_str + *; /乘号pass1=1;UpdateData(FALSE);void CLuxiaoyingDlg:OnC

31、huButton16()/ TODO: Add your control notification handler code here UpdateData(TRUE);m_str = m_str + /;/除号pass1=1;UpdateData(FALSE);void CLuxiaoyingDlg:OnDianButton12()/ TODO: Add your control notification handler code here UpdateData(1);if(pass1=1&pass2=1) m_str+=.;.专业 .整理 .下载可编辑pass2=0;UpdateData(

32、0);3、清除功能的实现void CLuxiaoyingDlg:OnClearButton17()/ TODO: Add your control notification handler code here UpdateData(1);m_str=0;pass1=1;/ 之前是否有操作符输入,有,则为 1,无,则为 0 pass2=1;/ 是否有小数点,有,则为 0,无,则为 1 pass3=1;/ 之前是否有数字输入,有,则为 0,无,则为 1 UpdateData(0);4、cos 功能的实现void CLuxiaoyingDlg:OnCosButton23()/ TODO: Add y

33、our control notification handler code here double a,itemp=0,rate=10.0;int i; UpdateData(TRUE); for(i=0;im_str.GetLength();i+)if(isdigit(m_str.GetAt(i)if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0); if(i=m_str.GetLength()-1).专业 .整理 .下载可编辑a=itemp;elseitemp=itemp+rate*(m_str.GetAt(i)-0);rate=rate/10;

34、if(i=m_str.GetLength()-1)a=itemp;else if(m_str.GetAt(i)=.)rate=0.1;a=cos(a*3.1415926/180);m_str.Format(%1f,a);pass1=0;UpdateData(FALSE);5、倒数功能的实现void CLuxiaoyingDlg:OnDaoshuButton19()/ TODO: Add your control notification handler code here double a,itemp=0,rate=10.0;int i; UpdateData(TRUE); for(i=0;i

35、m_str.GetLength();i+)if(isdigit(m_str.GetAt(i).专业 .整理 .下载可编辑if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0);if(i=m_str.GetLength()-1)a=itemp;elseitemp=itemp+rate*(m_str.GetAt(i)-0);rate=rate/10;if(i=m_str.GetLength()-1)a=itemp;else if(m_str.GetAt(i)=.)rate=0.1;if(a=0)MessageBox(0 没有倒数 !);elsea=1/a;

36、m_str.Format(%1f,a);pass1=0;UpdateData(FALSE);6、等于号功能的实现void CLuxiaoyingDlg:OnDengyuButton20()/ TODO: Add your control notification handler code here.专业 .整理 .下载可编辑int i, j, z, s, x=0, y=1, t, m=1;char b10;double rate=10.0, itemp=0.0,a20, l;for(i=0;i20;i+)ai=100000000.0;for(i=0;i10;i+)bi= ;/ 以下为双目运算;

37、z=0;for(i=0;im_str.GetLength();i+)/GetLength获得当前字节文件的逻辑长度if(isdigit(m_str.GetAt(i)/isdigit若参数 c 为阿拉伯数字,则返回 TRUE,否则返回 NULL(0)。/m_str.GetAt(i)取出字符串中的第i个字符(编号从 0 起)if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0);if(i=m_str.GetLength()-1)az=itemp;elseitemp=itemp+rate*(m_str.GetAt(i)-0);rate=rate/10;if(

38、i=m_str.GetLength()-1).专业 .整理 .下载可编辑az=itemp;else if(m_str.GetAt(i)=.)rate=0.1;else if(m_str.GetAt(i)=+)az=itemp;itemp=0;z+;bz=+;z+;rate=10.0;else if(m_str.GetAt(i)=-)az=itemp;itemp=0;z+;bz=-;z+;rate=10.0;else if(m_str.GetAt(i)=*)az=itemp;itemp=0;z+;bz=*;z+;rate=10.0;.专业 .整理 .下载可编辑else if(m_str.GetA

39、t(i)=/)az=itemp;itemp=0;z+;bz=/;z+;rate=10.0;s=z;for(j=0;j=s;j+)/除法转换成乘法if(bj=/)if(aj+1=0)MessageBox(0不能作为除数 !);elseaj+1=1/aj+1;bj=*;for(j=0;j=s;j+)/乘法,有乘号时执行乘法计算,同时注意优先级if(bj=*).专业 .整理 .下载可编辑if(j-t=2)at-m=at-m*aj+1;/实现连乘m=m+2;elseaj-1=aj-1*aj+1;/乘法的实现aj+1=100000000.0;bj= ;t=j;for(j=0;j=s;j+)/数值和运算符

40、的传递if(aj!=100000000.0)ax=aj;x+=2;if(bj!= )by=bj;y+=2;for(j=0;j100000000)MessageBox(您输入的数值过大 !);elsem_str.Format(%1f,a0);pass1=0;UpdateData(0);7、阶乘的计算void CLuxiaoyingDlg:OnJiechengButton28()/ TODO: Add your control notification handler code here double a,itemp=0,rate=10.0;int i,k; UpdateData(TRUE); f

41、or(i=0;im_str.GetLength();i+)if(isdigit(m_str.GetAt(i)if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0);if(i=m_str.GetLength()-1)a=itemp;.专业 .整理 .下载可编辑elseitemp=itemp+rate*(m_str.GetAt(i)-0);rate=rate/10;if(i=m_str.GetLength()-1)a=itemp;else if(m_str.GetAt(i)=.)rate=0.1;if(a=0)a=1;elsek=1;for(i=1;i=a

42、;i+)k*=i;a=k;m_str.Format(%1f,a);pass1=0;UpdateData(FALSE);8、ln 功能的实现void CLuxiaoyingDlg:OnLnButton21()/ TODO: Add your control notification handler code here double a,itemp=0,rate=10.0;.专业 .整理 .下载可编辑int i;UpdateData(TRUE);for(i=0;im_str.GetLength();i+)if(isdigit(m_str.GetAt(i)if(rate=10.0)itemp=itemp*rate+(m_str.GetAt(i)-0);if(i=m_str.GetLength()-1)a=itemp;elseitemp=itemp+rate*(m_str.GetAt(i)-0);rate=rate/10;if(i=m_str.GetLength()-1)a=itemp;else if(m_str.GetAt(i)=.)rate=0.1;if(a=0)MessageBox(0 不能取对数 !);elsea=log(a);m_str.Format(%1f,a);pass1

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!