基于MFC的小型计算器设计C++课程设计.docx
- 文档编号:5288033
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:11
- 大小:336.85KB
基于MFC的小型计算器设计C++课程设计.docx
《基于MFC的小型计算器设计C++课程设计.docx》由会员分享,可在线阅读,更多相关《基于MFC的小型计算器设计C++课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
基于MFC的小型计算器设计C++课程设计
河北理工大学
《软件设计基础(C++)》
课程设计报告
设计名称:
基于MFC的小型计算器设计
姓名:
学号:
专业班级:
学院:
设计时间:
设计地点:
成绩:
指导教师评语:
指导教师签字:
年月日
目录
1.课程设计目的3
2.课程设计任务与要求3
3.课程设计说明书4~5
4.课程设计成果6~11
5.程序调试过程12
6.设计问题的不足和改进方案12
7.课程设计心得12
8.参考文献12
1.课程设计目的
培养学生综合利用C++语言进行程序设计的能力,并培养学生利用MFC在VisualC++中进行可视化编程的能力。
加强学生对面向对象程序设计方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,主要是培养学生利用MFC和VisualC++中的可视化编程工具进行Windows程序设计和开发的能力。
2.课程设计任务与要求:
任务
1、基本要求:
(1)要求使用VisualC++中的MFC握创建基于对话框的Windows应用程序,设计友好方便的图形用户界面,实现程序的功能。
(2)掌握创建基于对话框的MFC应用程序的操作过程,明确程序是如何通过对话框与用户进行交互的。
2、创新要求
在基本要求达到后,进行创新设计,强化程序功能。
要求
建立一个基于对话框的Windows应用程序,用来对两个数进行简单的加、减、乘和除运算。
对话框上设置五个按钮,分别是+、-、×、÷和退出;三个编辑框,两个由用户输入操作数,一个显示计算结果。
单击某个运算符按钮,则将两个数的计算结果显示在第三个编辑框中。
3.课程设计说明书
概要设计
模块说明:
在我设计的程序中一共包括了4个模块,分别是:
单运算数计算模块,双运算数计算模块,结果及日历显示模块,清零、退出模块。
这四个模块相对独立而又相互联系。
通过完整的计算把各个模块联系起来。
模块结构图:
详细设计
总体流程图及各功能模块流程图:
4.课程设计成果
voidCCalculatorDlg:
:
OnBplus()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=m_dOprand2+m_dOprand3;
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBminus()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=m_dOprand2-m_dOprand3;
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBmultiply()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=m_dOprand2*m_dOprand3;
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBdivide()
{UpdateData();
if(m_dOprand3)
m_d_Result=m_dOprand2/m_dOprand3;
else
AfxMessageBox("除数不能为0!
请重新输入!
");
UpdateData(false);
}
voidCCalculatorDlg:
:
OnBclear()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();
m_d_Result=m_dOprand2=m_dOprand1=m_dOprand3=0;//将控件中对应成员变量清零
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
m_eOprand1.SetFocus();//使显示第一个运算数的控件获得焦点
m_eOprand1.SetSel(0,-1);
//选中第一个运算数控件中的内容,以使用户输入时将其清除
}
voidCCalculatorDlg:
:
OnBpingfang()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=m_dOprand1*m_dOprand1;
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBlifang()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=m_dOprand1*m_dOprand1*m_dOprand1;
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBncifang2()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
if(m_dOprand2)
m_d_Result=pow(m_dOprand2,m_dOprand3);
else
AfxMessageBox("底数不能为0!
请重新输入!
");
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBkaipingfang()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=sqrt(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnBzhengxian()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=sin(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
OnByuxian()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=cos(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
Onzhengqie()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=tan(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
Onyuqie()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=1/tan(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
Onshiweidideduishu()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=log10(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
Oneweidideduishu()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=log(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
Onedencifang()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=exp(m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
voidCCalculatorDlg:
:
On10dencifang()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();//从控件中读取用户输入的数据送到成员变量中
m_d_Result=pow(10,m_dOprand1);
UpdateData(FALSE);//将成员变量的值显示在对应的控件中
}
5.程序调试过程
写好程序后就先调试源文件如果源文件没有提示错误的话,就调试每一个按钮。
调试按钮过程中应该注意除数、底数不能为零。
6.设计问题的不足和改进方案
如果MFC能够显示出计算式就更直观明了。
任务的设计仅仅是要求能够计算加、减、乘、除而已。
我在原题要求上又增添了几个新的常用计算按钮和日历。
7.课程设计心得
用MFC做界面是应该注意常用函数的添加与使用。
同时,又应该注意每个函数使用时的条件。
8.参考文献
《VisualC++程序设计基础(第二版)》柴欣张红梅中国铁道出版设
《VisualC++软程序设计实验教程(第二版)》柴欣张红梅中国铁道出版设
《VisualC++实践与提高》刘长明杨工明中国铁道出版设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MFC 小型 计算器 设计 C+ 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)