内容发布更新时间 : 2024/11/5 18:35:31星期一 下面是文章的全部内容请认真阅读。
姓 名: 班 级: 学 号: 完成日期:
武汉科技大学机械自动化学院
任务一开发一个计算器程序
(1) 软件目标:实现数字的加、减、乘、除、平方、开方、正弦、正切,余弦等
功能,并设置显示学生信息按钮。 (2) 软件设计: A.开发环境
基于VC++6.0的Microsoft Foundation Classes(即MFC)开发。MFC以类的形式封装了windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。在开发过程中运用到了windows的内建控件和组件的封装类。该程序选用了MFC中的对话框模式。 B.基本操作流程
打开VC++6.0后点击MFCappwizard(exe),选择对话框创建工程。
在对话框中分别添加Button控件、static控件和edit控件。Button控件作为数字输入和运算符号的选择,static控件用来显示静态提示标题,用edit控件显示计算结果。
将设置的控件改好ID,基本用户界面如下图:
使用CString变量m_result保存结果,在构造函数中初始化使得m_result=0 数字1、2、3、4等用一个函数进行响应,函数如下图:
从函数中可以看到,当按下button1(即数字1)时,函数OnButton1()响应,CString变量m_result的值被改为1,使用UpdateData(FALSE)函数在edit控件中更新显示。
当按下其他数字键函数同样处理。
同样用一个函数对运算符号,加减乘除进行响应,为了能区别用户所输入的运算字符,
3
在中申请一个int型的变量,并在构造函数中初始化,使得n=0.
当用户按下运算符按钮时,n的值更新,如用户按下加号时,n=1,同时使用函数atof对m_result
的变量类型进行转化,使得CStr;ing型变为double型,用data变量进行保存,以备运算使用,edit控件中仍然显示m_result的值。其实现如下图所示
当用户按下另一个数字按钮时,m_result的值更新。
当用户输入完毕时,按下等号,用一个函数对等号按钮进行响应,对新输入的m_result的值进行一次强制转变,转为double型,与先前的得到data进行运算,并用data保存,再用Format函数对data的值转变成CString型并用m_result进行保存,并用Updatedata(FALSE)在edit控件中更新显示。函数实现如下:
值得注意的是,函数中
用来识别,用户输入的运算符类型,根据运算符
的类型选择相对应的运算方法。
值得一提的是对于单目运算,如正弦、开方、平方的运行,在函数实现中与双目运算符(加减乘除)不同,用正弦运算举例,其函数实现如下:
当按下SIN按钮时,更改n的值,并对m_result的值进行转变,赋值给变量data
当用户按下等号时,把data由角度转化为弧度后用头文件math.h所包含的sin()函数运算,用format函数将结果数据类型转变为CString后,保存在m_result中,用Updatedata(FALSE)g更新,在edit控件中显示。
其他双目运算,用不同的n标记后,函数处理同加法。不再赘述。 其他单目运算符,用不同的n标记后,函数处理同正弦。不再赘述。 用按钮清空对结果进行清除,其实现函数如下:
4
m_result的值重新初始化,并用Updatedata(FALSE)函数对edit控件进行清空。 用一个按钮“学生信息”显示学生的信息,其按钮响应如下
编程所用到的头文件,添加在(3)软件界面截图
代码中,此处不做描述。
`
5