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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

科学计算器的程序设计Word文档下载推荐.docx

1、指 导 教 师:系 主 任:下达任务书日期: 2009 年12 月 21日课 程 设 计 任 务 书1设计目的:(1) 掌握VC+程序开发平台;(2) 掌握对话框模式的可视化实现和按钮消息的响应;(3) 掌握应用VC+库函数实现数字的输入、计算和显示等功能。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):(1)查阅相关资料,掌握基于面向对象的编程方法;(2)主界面采用对话框模式,编辑计算器相应的控件;(3)实现数据的输入、计算和显示;(4)要求3位同学各自实现不同分工。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:(1) 要求设计组的每个成员都要了

2、解设计的要求和思路;(2) 编写详细的设计说明书一份;(3) 要求有正确的运行结果及结果分析。4主要参考文献:1 王华, 叶爱亮, 祁立学等. Visual C+ 6.0 编程实例与技巧. 北京:机械工业出版社, 1999.2 李光明. Visual C+ 6.0 经典实例大制作. 北京:中国人事出版社,2000.3 阚能琪 VC+串口通信中多线程技术的应用研究 西华大学学报(自然科学版) 2005年04期 4 周晓光 +实现计算机与GPS的通信 西安农林科技大学学报5 陈惠玲 用vc+实现计算器运行的方法 工业技术期刊 5设计成果形式及要求:提供详细的设计说明书一份软件设计结果6工作计划及进

3、度:2009年 12月21日 12月27日: 学习VC有关编程方法;2010年01月05日 01月13日: 在指导教师指导下实现程序设计,并完成课程设计说明书的撰写;01月14日:答辩。系主任审查意见: 签字:年 月 日 目 录1、 设计摘要 62、设计目的 73、设计方案介绍 74、设计主要步骤 75、源程序代码 106、运行结果 227、设计心得 268、参考文献 27一、设计摘要:本次程序设计我们设计的目的是:(1)掌握VC+程序开发平台; (2)掌握对话框模式的可视化实现和按钮消息的响应;(3)掌握应用VC+库函数实现数字的输入、计算和显示等功能。在工作当中我们在VC+程序环境下,运用

4、多种函数来实现程序的编程和显示。本次程序设计主要是处理计算数和计算符的输入、计算和显示问题。为此我们查阅了很多关于此方面的知识。通过这次程序设计,我们完整的把计算器的各项功能进行了编译、运行,此次设计圆满结束。、设计目的简介 在实践中掌握VC+程序开发平台,学会应用VC+库函数,编辑计算器相应的控件实现数字的输入,计算,显示等功能。三、设计主要方案介绍1、 在Visual C+ 6.0 环境下首先通过“新建”利用MFC向导建立一个基于模态对话框的MFC应用程序,然后再通过“资源”插入一个对话框IDD_CALCULATOR_DIALOG作为计算机器的主要运算界面,再利用ClassWizard创建

5、与它关联的类CCalculatorDlg,并为该类添加相应的成员,设置各种属性;2、 在对话框中添加51个按纽、2个编辑框作为输入和输出显示、8个单选按钮、3个静态文本控件,并为控件添加相关联的成员变量,整体界面见上图:3、 分别为按纽、文本框添加VC+6.0代码,关联变量与控件之间的关系,以实现所要实现的功能。四、设计主要步骤 1、创建应用程序(1)选择FileNew菜单命令,并在弹出的新建对话框中单击Project标签。 (2)选择MFC AppWizard(exe),并在Project Name编辑框中输入Calculator作为工程名称。单击OK按钮,出现Step1对话框。2、创建对话

6、资源 在工程工作区中单击Resource View标签显示应用程序资源。单击Dialog旁边的“十”,再双击IDDCALCULATOR_DIALOG并编辑对话框资源,编辑后的对话框如图1所示。3、添加消息处理函数 首先利用Class Wizard 为编辑框控件增加CString型成员变量m_result用于结果显示,然后使用Class Wizaed为对话框类CcalculatorDlg增加消息处理函数,ClassWizard会自动完成有关的函数声明。4、为各按钮添加消息处理函数。5、添加成员处理函数和成员变量。6、添加完成各个功能的代码。7、添加处理科学计算的功能8、动态设置计算器大小。9、制

7、度的选择,程序运行默认制度选中角度,当选项中“角度”按钮时,则需将其转换为角度计算,由公式:弧度PI*角度180,可将表达式中角度转换为弧度既sll-1=PI*sll-1/180。对于反、正余弦和反正余切,由于C+math.h库函数提供的计算结果是弧度的,所以当选中默认的“弧度”按钮时可不必将计算结果转换,当选中“角度”按钮时,则由公式:角度=弧度*180/PI,既可计算出来。10、结果进制数的转换,十进制转换为二进制、八进制和十六进制是采用的是取余法。二进制、八进制和十六进制转换为十进制采用的是加权法。其它进制的转换则遵循1位八进制相当于3位二进制,1位十六制相当于4位二进制的规律进行转换。

8、11、常数表,定义了11个比较多用的常数值,方便计算。11个常数值存放的位置是一个弹出式菜单m_menu。12、历史表达式,首先创建一个菜单使用函数CreatePopupMenu(),然后定义一个函数AddToHistr(CString strExp)将表达式strExp的内容添加到菜单,其中在函数中,GetMenuItemCount()是用来获取菜单中子菜单个数,AppendMenu(MF_STRING,IMENU_ITEM_ID+b,strExp)是用来在菜单的未尾添加子菜单中,m_menuItem.Add(strExp)是将表达式strExp显示为菜单内容。有了这些处理后,则在“计算”按

9、钮的消息映射函数上用AddToHistr(m_strExp)将计算表达式和结果加到菜单上,在“历史表达式”按钮的消息映射函数上用GetCursorPos(&point)获取光标所在位置,并用m_menu2.TrackPopupMenu(TPM_CENTERALIGN,point.x,point.y,this)在光标所在位置上显示菜单内容。菜单存历史表达式是在内存空间中静态分配一片内存用于存放,将分配内存不够时将不再存放。13、查错处理,主要检查表达是否为空,二元运算符是否少了操作数,一元运算符的函数表达式为空,是否缺少二元运算符,结果进制的转换是否越界。五、部分代码/各控件函数void CCa

10、lculatorDlg:OnButtonSin() Paster(sin( ),1);OnButtonCos() cos( )OnButtonTan() tan( )OnButtonCot() cot( )OnButtonSin1() as( )OnButtonCos1() ac( )OnButtonTan1() at( )OnButtonLog() long( )OnButtonSh() sh( )OnButtonCh() ch( )OnButtonTh() th( )OnButtonExp() exp( )OnButtonLn() ln( )OnButtonEsqr() e( )OnBut

11、tonSqrt() sqr( )OnButtonAbs() abs( )OnButton7() 7,0);OnButton8() 8OnButton9() 9OnButtonPlus() +OnButtonBack() Paster( m_strExpc.GetSel(m_nStart,m_nEnd); m_strExp.Delete(m_nStart-1); m_strExpc.SetFocus(); m_strExpc.SetSel(m_nStart-1,m_nStart-1);OnButtonSqr() OnButton4() 4OnButton5() 5OnButton6() 6OnB

12、uttonMinus() -OnButtonLparen() (OnButtonXb() xbOnButton1() 1OnButton2() 2OnButton3() 3OnButtonMul() *OnButtonRparen() )OnButtonXo() xoOnButton0() 0OnButtonDot() .OnButtonSpace() OnButtonDivid() /OnButtonMod() %OnButtonXh() xhOnButtonA() AOnButtonB() BOnButtonC() COnButtonD() DOnButtonE() EOnButtonF(

13、) FOnMenuC() LSOnMenuE() OnMenuE0() DCOnMenuG() GROnMenuK() BCOnMenuKe() EFOnMenuNa() NAOnMenuPi() PIOnMenuR() MGOnMenuVm() VMOnRadioStandard() /标准型函数 SetWindowPos(NULL,0,0,smallCrect.Width(),largeCrect.Height(), SWP_NOMOVE | SWP_NOZORDER); OnRadioScientfic() /科学型函数 SetWindowPos(NULL,0,0,largeCrect.

14、Width(),largeCrect.Height(),void CAboutDlg:OnOK() / TODO: Add extra validation here CDialog:OnOK(); OnButtonConst() /常数表函数 UpdateData(1); CWnd * pFrame; pFrame=AfxGetApp()-GetMainWnd(); CWnd* pWndPopupOwner = this; VERIFY(m_menu.LoadMenu(IDR_MENU); CPoint point; GetCursorPos(&point); :SetForegroundW

15、indow(m_hWnd); CMenu* pPopup = m_menu.GetSubMenu(0); pPopup-TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,pWndPopupOwner,NULL); m_menu.DestroyMenu();OnButtonHistory() /历史表达式函数 m_menu2.TrackPopupMenu(TPM_CENTERALIGN,point.x,point.y,this);六、运行结果计算表达式:sin( 25+5 )+abs( 8 ) 结果转换成十进制为:8.500

16、000000000000 结果转换成八进制为:10.4结果转换成二进制为:1000.1转换成十六制为:8.8七、设计心得在做这个课程设计之前,我们只学过C+语言,对于C+也只是知道点皮毛,对Visual C+的设计可以说是一无所知,但通过一个月的摸索和讨论,掌握了很多Visual C+设计的知识,对于其有了初步的了解。我个人觉得VisualC+要比C+方便但比较难。我觉得此次实验主要是我们掌握面向对象技术相关的一些软件开发技术。利用MFC类库开发Windows应用程序,怎样用计算器控件实现数字的输入、计算和显示等功能。刚开始设计时,对Visual C+无从下手只能停留在停留在C+的基础上,总也弄不对。后来经老师指导才发现C+与VC+有很大的不同。通过这次课程设计,我知道了很多知识,所以我感谢这次的课程设计。八、参考资料2 李光明. Visual C+ 6.0 经典实例大制作. 北京:

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

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