嵌入式_实验五_简单计算器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式操作系统原理与应用
实验报告
实验题目:实验五、简单计算器设计
院系:计算机科学与技术学院
专业年级:
学生姓名:学号
2014 年10 月7日
一、实验目标和重点
使用MFC编写一个如下图所示的计算器程序可以直接从键盘输入两个数,然后按下运算按钮可以计算,可以计算三角函数
二、实验内容
思路:设计三个edit控件,作为被运算数和结果显示,添加加减乘除按钮,按下后进行运算;添加Check 按钮检测状态,因为三角函数都是单目运算符,故只有一个数,选择其中一个edit控件显示。

三、实验步骤及结果
1)首先打开Microsoft Visual Studio,选择新建项目,基于对话框
2)创建一个对话框程序,在Dialog中完成以下设计图,添加“+”、“‐”,“*”,“/”按钮button 控件并在属性里修改各个控件的caption属性、控件ID。

例如:“+”修改为ID_ADD,完成修改后,如图:
3)对三个edit控件进行添加变量m_num1、m_num2、m_result,前面两个为操作数,后面一个为运算结果。

5)点击“闪电”,选择添加事件如下图
6)在操作符按下的click事件下添加代码:操作符“+”添加代码:
void CsimplecaculatorDlg::OnBnClickedAdd() {
UpdateData();
m_result=m_num1+m_num2;
UpdateData(FALSE);
}
操作符“-”添加代码:
void CsimplecaculatorDlg::OnBnClickedMinus() {
UpdateData();
m_result=m_num1*m_num2;
UpdateData(FALSE);}
操作符“-”添加代码:
void CsimplecaculatorDlg::OnBnClickedPlus()
{
UpdateData();
m_result=m_num1-m_num2;
UpdateData(FALSE);
}
操作符“/”添加代码:
void CsimplecaculatorDlg::OnBnClickedDiv()
{
UpdateData();
if(m_num2)
m_result=m_num1/m_num2;
else
AfxMessageBox(_T("被除数不能为!"),0,0);
UpdateData(FALSE);
}
7)以下为三角函数的添加代码:
同时要在文件的开始添加pi的值,#define pi 3.1415926
操作符“sin”按下的click事件下添加以下代码
UpdateData();
temp=m_num1;
if(m_num1<180)
m_result=sin(m_num1*pi/180.0); //Pi为圆周率,定义预处理命令else{
while (temp>=180)
{temp-=180;}
m_result=sin(temp*pi/180.0);
UpdateData(FALSE);
其他运算符(cos tan cot )同理添加如图:
8)以下为选择简单计算器和三角函数的按钮的控件添加代码:
9)在操作符“清除”按下的click事件下添加以下代码:
10)完成以上操作后,为了实现三角函数的函数曲线,添加以下代码:
CDC *pDC=GetDC();
//CClientDC * pClientDC=myWindow.GetClientRect(&rc);
//得到绘图环境
CPen pen,*poldpen; //创建画笔,和用来保存旧画笔
pen.CreatePen(PS_SOLID,2,RGB(m_red,0,0)); //创建一个新画笔的,特性,实线,线宽个像素poldpen=pDC->SelectObject(&pen); //选择新画笔,保存旧画笔
//colorBrush.CreateSolidBrush(clRGB);
//CDC*pDC=GetDC();
pDC->MoveTo(110,180);
pDC->LineTo(260,180);
pDC->MoveTo(120,110);
pDC->LineTo(120,250);
pDC->MoveTo(120,200);
double i,x,y;
for (i=0;i<=200;i++)
{
x=120+i;
y=180-20*sin(i/20);
pDC->LineTo(x,y);
}
pDC->SelectObject(&poldpen);// 恢复原画笔状态
ReleaseDC(pDC); //释放画笔CBrush colorBrush; 11)实验结果截图:
四、心得体会
通过此次实验,完成了简单计算器的设计。

这次实验需要联系之前的画图实验和线程的实验。

在实验过程中,对之前的实验忘记了方法,只好在回头看之前的实验,和同学商量着完成。

实验中在调试程序的时候出现了很多问题,请教了老师,一步步改错,最终完成。

相关文档
最新文档