(5) 进入ClassWizard界面Message Varibles为编辑框添加成员变量m_stredit用以显示结果。如图:
(6)在“计算器Dlg.h”中加入在主要成员函数和成员变量的申明,在“计算器Dlg.cpp”中加入主要成员函数实现过程和成员变量的初始化。
6
在头文件中“计算器Dlg.h”中public下添加 int sos; //操作附鉴别符
int cal;
CString m_str2; //存放按下操作符之前m_stredit的值 CString m_str1; //中间变量,当前m_stredit的值
在“计算器Dlg.cpp”中要定义各种数学运算添加#include \
开始 4.运算流程图 输入数据于函数 编辑框关联的变量保存到m_str1 双目运算符 输入数据于函数 单目运算符 进行运算 N 运算是否合法 Y Y 是否用保存的结果继续进行运算 m_str清零 运算结果保存到m_str2 弹出对话框显示错误 N Y N 结束
是否开始新的计算 7 5. 运行效果和不足 例如:-7+9=2
1/2=0.5
2/0不能运算
等等
8
不足:0可以作为数字的开头,而且小数点可以打多个,希望可以通过以后的学习解决这
些缺点。
6. 总结
课程设计到此已告一段落,经过团队的努力,在三周的实践中课程设计基本完成了。从中学到很多有用的知识,也积累了不少宝贵的经验。虽然在此次课程设计我们只是针对性的去学习对对话框应用程序的编程模式,但也体会到了MFC这类库的博大精深。想全部了解这样一个类库,今后还需多下功夫。
本次课程设计我们完成了一个简易计算器应用软件,在此期间,遇上了不少的技术难题,但是经过努力,通过查找资料,难题还是一个个被解决了,从中学到了许多课堂上没学到的东西,这是很值得高兴的。经过设计的各个环节,从中学到了很多,锻炼了系统的设计的能力,培养了团队分工合作精神。这样对我们以后在工作中或学习中得到很好的锻炼,为用VC++编辑软件奠定基础。
在本次实践期间对简易计算器的设计虽然大体实现各个控件的功能,但仍存在许多的不足与漏洞,还待以后的不断学习进一步完善。
7. 参考文献及开发环境
参考文献: [1]《Visual C++ 7.0 起步进阶》,国防工业出版社 武装 等编著 [2]《Visual C++ 基础教程》,西安电子科技大学出版社,2006.6 开发环境:
Microsoft Visual C++ 6.0
附录. 程序代码
// 计算器Dlg.cpp : implementation file //
#include \//#include \#include \计算器.h\#include \计算器Dlg.h\#include \
#ifdef _DEBUG
#define new DEBUG_NEW
9
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog {
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA
// ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation protected:
//{{AFX_MSG(CAboutDlg) //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) {
//{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT }
void CAboutDlg::DoDataExchange(CDataExchange* pDX) {
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP }
10