VC++之基于MFC的简易计算器.doc_第1页
VC++之基于MFC的简易计算器.doc_第2页
VC++之基于MFC的简易计算器.doc_第3页
VC++之基于MFC的简易计算器.doc_第4页
VC++之基于MFC的简易计算器.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计报告课程名称: 面向对象技术与Visual C+ 设计题目: 基于MFC的简易计算器 专业: 信息与计算科学 班级: 信122 姓名: 学号: 2012314233 任课教师: 二一五 年 五 月设计题目(问题)描述 当今社会是一个智能化、自动化的新型时代,各行各业都有着对计算更高层次的需求,手动计算的时代已经无法满足飞速发展的社会的需要。所以在这次的C+课程设计课上我选择基于MFC的简易计算器的编程,计算机的出现既解决了对于人们手动计算来说较难、较复杂的问题,又节约了时间,大大的提高了工作效率。计算器必将会成为新时代计算的新宠。教 师 评 语签名: 注:本设计报告中各个部分如果页数不够,请大家自行扩页,原则是一定要把报告写详细,能说明设计的成果和特色。报告中应该叙述设计中的每个模块。一、设 计 的 功 能 描 述此次设计的是一个简易的计算器,功能不是特别的齐全,仅能实现较简单的运算具体如下:(1) 简单的加、减、乘、除四则运算;(2) 数字由十进制到二进制的转换;(3) 三角函数的运算;(4) 阶乘、对数以及对于开方的简单运算。二、设 计 的 主 要 特 色 简易计算器不仅可以实现单目运算,还可以进行一些较为简单的双目运算,除了加减乘除四则运算之外,还可以进行三角函数的计算,阶乘、对数以及开平方也得到了实现。在基本操作的基础上,界面实现了MFC编程,为本次的设计增添了光彩!三、系 统 分 析 与 设 计1系统功能1.1系统功能图1.2系统功能划分1.2系统功能划分对象ID标题或说明编辑框IDC_EDIT2显示按钮IDC_BUTTON100按钮IDC_BUTTON11按钮IDC_BUTTON22按钮IDC_BUTTON33按钮IDC_BUTTON44按钮IDC_BUTTON55按钮IDC_BUTTON66按钮IDC_BUTTON77按钮IDC_BUTTON88按钮IDC_BUTTON99按钮IDC_point.按钮IDC_BUTTON13+按钮IDC_BUTTON14-按钮IDC_BUTTON15*按钮IDC_BUTTON16/按钮IDC_Btn_sqrtsqrt按钮IDC_Btn_lglg按钮IDC_Btn_jiechengn!按钮IDC_Btn_sinsin按钮IDC_Btn_coscos按钮IDC_Btn_tantan按钮IDC_Btn_erjinzhi二进制按钮IDC_BUTTON12=按钮IDC_BUTTON18CE2系统流程图开始 输入数据加法减法乘法除法求开方 求对数求阶乘求正弦求余弦求正切 输入第二个数据 结果进制转换结束1.3 计算器界面1.4总体代码(1)数字键代码(仅以1为例)void CJisuanqiDlg:OnButton1() numi=numi+1;m_s=m_s+1;op=0;d=1;point=1;q=0;UpdateData(false);(2)四则运算1)加法void CJisuanqiDlg:OnButton13() if(q=0)op=1;d=0;m_s=m_s+;chi+=+;point=0;q=1;UpdateData(false);2) 减法void CJisuanqiDlg:OnButton14() if(q=0)op=1;d=0;m_s=m_s+-;chi+=-;point=0;q=1;UpdateData(false);3) 乘法void CJisuanqiDlg:OnButton15() if(q=0)op=1;d=0;m_s=m_s+*;chi+=*;point=0;q=1;UpdateData(false);4) 除法void CJisuanqiDlg:OnButton16() if(q=0)op=1;d=0;m_s=m_s+/;chi+=/;point=0;q=1;UpdateData(false);(2) 二进制void CJisuanqiDlg:OnBtnerjinzhi()char m_radix16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;CString s;m_base=2;int pos=0;long j,number=0;if(m_length=0)return;UpdateData();number=atoi(m_s);j=number%m_base;while(number=number/m_base)!=0)s.Insert(pos,m_radixj);pos+;j=number%m_base;s.Insert(pos,m_radixj);s.MakeReverse();SetDlgItemText(IDC_EDIT2,s);(3) 对数void CJisuanqiDlg:OnBtnlg()double res;char cr100;UpdateData();res=atof(m_s);res=log10(res);gcvt(res,6,cr);SetDlgItemText(IDC_EDIT2,cr);(4)开方void CJisuanqiDlg:OnBtnsqrt()double res;char cr100;UpdateData();res=atof(m_s);res=sqrt(res);gcvt(res,6,cr);SetDlgItemText(IDC_EDIT2,cr);(5)正弦oid CJisuanqiDlg:OnBtnsin()double res;char cr100;UpdateData();res=atof(m_s);res=sin(res);gcvt(res,6,cr);SetDlgItemText(IDC_EDIT2,cr); (6)余弦void CJisuanqiDlg:OnBtncos()double res;char cr100;UpdateData();res=atof(m_s);res=cos(res);gcvt(res,6,cr);SetDlgItemText(IDC_EDIT2,cr);(7)正切void CJisuanqiDlg:OnBtntan()double res;char cr100;UpdateData();res=atof(m_s);res=tan(res);gcvt(res,6,cr);SetDlgItemText(IDC_EDIT2,cr);(8)阶乘void CJisuanqiDlg:OnBtnjiecheng()int n,i;char cr100;UpdateData();n=atoi(m_s);i=n-1;for(;i=1;i-)n=n*i;gcvt(n,6,cr);SetDlgItemText(IDC_EDIT2,cr);四、系 统 调 试 出 现 的 问 题 及 解 决 情 况编译错误:1. 简单编译语法错误五、系 统 运 行 报 告(测 试 的 结 果)(1) 加法 (2) 减法 (3) 乘法 (4) 除法 (5) 二进制 (6) 正弦 (7) 余弦 (8) 正切 (9) 对数 (10) 阶乘 (11) 开方 六、总 结 为期一段时间的C+课程设计即将接近尾声,通过此次的设计,我认识到了很多,也收获颇丰,所有的这一切都使我不断成长与进步! 此次我设计的MFC简易计算器的功能并不是特别的齐全,但它却也是我用心在做的。其间我遇到了无数大大小小的麻烦,各种各样的问题接踵而至,由于学习过程中的不用心,导致最终现在的自己手忙脚乱,曾经的自己一度灰心丧气,觉得自己可能无法按期完成这个作业了,过后静下心来好好反思,觉得自己不能就此轻易放弃,同学们忙碌的背影更加坚定了我的意念!因为自己对于知识的掌握不牢固,总是遇到各种各样的问题,我通过回顾课本、请教同学乃至于查找网络来不断地解决自己的问题,最终终于完成了我的C+课程的设计!由于自己掌握内容有限,我的设计仍有许多的不完美。如:无法实现小数点的使用、无法完成较高功能的实现等等,这些都是美中不足之处,在今后的学习过程中我会努力的改正自己的缺点,争取将问题解决在当下,不会像现在这样将问题遗留累积,最终留给自己的将是无穷尽的

温馨提示

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

评论

0/150

提交评论