- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计科学计算器
基于MFC的简单计算器的设计与实现 组员:毛欧阳 吴文涛 班级:光信1201 课题设计报告: 一丶需求分析 系统目标:设计的计算器至少能够进行简单的四则运算和求倒数求反以及开方运算。 主体功能:程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,如:三角函数的计算,对数指数的计算等。 开发环境:操作系统:Windows XP 编程环境:Microsoft Visual C++ 6.0 创建工程(创建一个对话框应用程序) 实现对各按钮事件的实现 为编辑框连接成员变量 对类添加成员函数(更新编辑框)并进行实现 设置各控件属性 为所有按钮添加事件 设计对话框界面 为类添加数据成员 ,初始化构造函数。 二丶制作MFC计算器流程图 三、功能说明 (1)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。跳转 (2)包含的功能有:加、减、乘、除运算,开方、求倒数、三角函数、对数指数的计算等功能。 跳转 (3)计算功能基本上是用系统内部函数。 (4)计算使用三角函数角度、弧度自动转换。跳转 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“C”按钮可以清除所有已输入的数据跳转 Back”按钮可以实现退位功能。跳转 (7)能够显示第一个数和第二个数 ,并且如果连续计算自动将结果赋值给第一个数方便观察。 (8)能够显示当前时间,每次启动时自动更新当前时间。跳转 (9)实现double位一下的二进制转换。跳转 数字键的调用函数ButtonNum() void CJisuanDlg::OnButtonNum0() { ButtonNum(0); //其他数字键同理 } void CJisuanDlg::ButtonNum(int n) { if(NumberState==1) //第一个数 { if(point==1) //整数情况 { m_result=m_result*10+n; num1=m_result; m_num1=num1; UpdateData(false); } else { //1.03 m_result=n*pow(0.1,j)+m_result; j++; 控制小数的位数 num1=m_result; m_num1=num1; UpdateData(false); } 提前定义变量 int型j double型point、num1、num2 j和point都赋初始值为1 “.”按钮的函数功能另point=0.1;也是判断是不是小数的依据 返回 “num2同样的理” “=”号的调用函数cal void CJisuanDlg::cal() { switch(OperationState) { case 1: m_num1=num1; m_num2=num2; m_result=num1+num2; UpdateData(false); num1=m_result; NumberState=2; break; “+”号按钮的设置 void CJisuanDlg::OnButtonAdd() { OperationState=1; m_num1=m_result; UpdateData(false); m_result=0; point=1; j=1; NumberState=2; } Cal函数是自己定义的成员函数, OperationState, NumberState自己定义的整形变量并且都赋初始值为1 “加减乘除同样原理” 返回 三角函数和反三角 void CJisuanDlg::OnSin() { m_result=sin(m_result*pi/180); UpdateData(false); } void CJisuanDlg::OnArcsin() { m_result=asin(m_result)/pi*180; UpdateData(false); } 首先必须定义一个double行变量pi并赋值,进行弧度角度的换算 “其他的三角和反
文档评论(0)