您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 用MFC制作简易计算器
用VC++制作简单计算器简述:该课程设计将实现一个简单计算器。其类似于Windows附件中自带的计算器。这个计算器可以实现简单的四则运算功能,而且具有简洁大方的图文外观。系统具有良好的界面和必要的交互信息。即时准确地获得需要的计算的结果,充分降低了数字计算的难度,从而节约了时间,对人们的生活有一定的帮助。在课程设计中,程序设计设计语言采用VisualC++,在程序设计中,采用了面向对象解决问题的方法。课题背景计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除简单运算的工具。要实现计算功能,可以用VC++的知识编写程序来解决此问题。该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。功能说明系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作。可单机按钮进行操作即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。(1)包含的功能有:加、减、乘、除;(2)计算器上数字分为显示区,可以显示用户所点击的按键,最后显示结果;按键区,可以让用户选择所需的数字以及小数点;功能区,该区域提供用户所需的运算按钮;(3)计算功能基本上是用系统内部函数;(4)“AC”按钮可以清除所有已输入的数据从头计算;(5)“DEL”按钮可以删除所输入的最后以为数字;编辑资源按钮名称按钮ID用途0IDC_BUTTON0按键01IDC_BUTTON1按键12IDC_BUTTON2按键23IDC_BUTTON3按键34IDC_BUTTON4按键45IDC_BUTTON5按键56IDC_BUTTON6按键67IDC_BUTTON7按键78IDC_BUTTON8按键89IDC_BUTTON9按键9.IDC_point小数点=IDC_result求值+IDC_add加号-IDC_jian减号*IDC_cheng乘号/IDC_chu除号ACIDC_ac清屏DELIDC_del删除创建步骤新建一个MFC基于对话框的工程VC++对话框界面右击按钮,修改按钮的属性建立类向导最后点击EditCode就可以添加代码对其它按钮的操作与之类似,对编辑框的“建立类向导”有点区别,这里不附详细步骤代码展示“1”按钮对应的代码voidCMyDlg::OnButton1(){UpdateData(1);if(pass1==1)m_str=1;elsem_str+=1;pass1=0;UpdateData(0);}“2”按钮对应的代码voidCMyDlg::OnButton2(){UpdateData(1);if(pass1==1)m_str=2;elsem_str+=2;pass1=0;UpdateData(0);}“3”按钮对应的代码voidCMyDlg::OnButton3(){UpdateData(1);if(pass1==1)m_str=3;elsem_str+=3;pass1=0;UpdateData(0);}“4”按钮对应的代码voidCMyDlg::OnButton3(){UpdateData(1);if(pass1==1)m_str=4;elsem_str+=4;pass1=0;UpdateData(0);}“5、6、7、8、9、0”按钮对应的代码与“1、2、3、4”按钮对应的代码相近“=”按钮对应的代码voidCMyDlg::Onresult(){UpdateData(1);inti,z,s,j,x=0,y=1,t,m=1;charb[10];doublerate=10.0,itemp=0.0,a[20];for(i=0;i20;i++)a[i]=1000000.0;for(i=0;i10;i++)b[i]='';z=0;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[z]=itemp;}else{itemp=itemp+rate*(m_str.GetAt(i)-'0');rate=rate/10;if(i==m_str.GetLength()-1)a[z]=itemp;}}elseif(m_str.GetAt(i)=='.')rate=0.1;elseif(m_str.GetAt(i)=='+'){a[z]=itemp;itemp=0;z++;b[z]='+';z++;rate=10.0;}elseif(m_str.GetAt(i)=='-'){a[z]=itemp;itemp=0;z++;b[z]='-';z++;rate=10.0;}elseif(m_str.GetAt(i)=='*'){a[z]=itemp;itemp=0;z++;b[z]='*';z++;rate=10.0;}elseif(m_str.GetAt(i)=='/'){a[z]=itemp;itemp=0;z++;b[z]='/';z++;rate=10.0;}}s=z;for(j=0;j=s;j++){if(b[j]=='/'){a[j+1]=1/a[j+1];b[j]='*';}}for(j=0;j=s;j++){if(b[j]=='*'){if(j-t==2){a[t-m]=a[t-m]*a[j+1];m=m+2;}elsea[j-1]=a[j-1]*a[j+1];a[j+1]=1000000.0;b[j]='';t=j;}}for(j=0;j=s;j++){if(a[j]!=1000000.0)//如果a[i]的值不为0.0{a[x]=a[j];//把a[i]的值赋给a[x]x+=2;//x自加2}if(b[j]!='')//如果b[i]的值不为空格{b[y]=b[j];//把b[i]的值赋给b[y]y=y+2;//y自加2}}for(j=0;j=y-2;j++){if(b[j]=='+')//如果b[i]等于加号a[0]=a[0]+a[j+1];elseif(b[j]=='-')//如果b[i]等于减号a[0]=a[0]-a[j+1];}m_str.Format(%1f,a[0]);UpdateData(0);}“+”按钮对应的代码voidCMyDlg::Onadd(){UpdateData(1);m_str+=+;UpdateData(0);}“-”按钮对应的代码voidCMyDlg::Onjian(){UpdateData(1);m_str+=-;UpdateData(0);}“*”按钮对应的代码voidCMyDlg::Oncheng(){UpdateData(1);m_str+=*;UpdateData(0);}“/”按钮对应的代码voidCMyDlg::Onchu(){UpdateData(1);m_str+=/;UpdateData(0);}“AC”按钮对应的代码voidCMyDlg::Onac(){UpdateData(1);m_str=0;pass1=1;UpdateData(0);}“DEL”按钮对应的代码voidCMyDlg::Ondel(){UpdateData(1);if(m_str!=0&&m_str.GetLength()1)m_str=m_str.Left(m_str.GetLength()-1);else{m_str=0;}UpdateData(0);}“.”按钮对应的代码voidCMyDlg::Onpoint(){UpdateData(1);if(pass1==1)m_str=.;elsem_str+=.;pass1=0;UpdateData(0);}效果图
本文标题:用MFC制作简易计算器
链接地址:https://www.777doc.com/doc-4444663 .html