《可视化编程实验》由会员分享,可在线阅读,更多相关《可视化编程实验(33页珍藏版)》请在金锄头文库上搜索。
1、可视化编程实验报告学院:计算机与信息工程学院:计算机与信息工程 班级:班级:1111 级非师范计科级非师范计科任课教师:朝力萌任课教师:朝力萌姓名姓名: :李鸿李鸿 学号:学号:2011110438620111104386题目:计算器题目:计算器1 1、实验目的及要求:实验目的及要求:2 2、实验步骤:实验步骤:3 3、实验代码:实验代码:4 4、实验结果:实验结果:1 1、实验目的及要求:实验目的及要求:1 1、实验目的:实验目的:做一个形如下图的一个计算器,能够正常的运算基本的运算做一个形如下图的一个计算器,能够正常的运算基本的运算式子和相关的正常计算器的使用格式。式子和相关的正常计算器的
2、使用格式。2、实验要求:实验要求:要求制作的计算器有一半计算器的形势(输入数字在编辑框要求制作的计算器有一半计算器的形势(输入数字在编辑框的右端显示出来)与格式(对基本运算式子的基本按钮要有)的右端显示出来)与格式(对基本运算式子的基本按钮要有) ,例如,例如对一个数开算术平方根后,若结果是正数,则显示正数且正数后面对一个数开算术平方根后,若结果是正数,则显示正数且正数后面的零(小数点后的零)不显示,否则,所得结果全部显示出来。的零(小数点后的零)不显示,否则,所得结果全部显示出来。用用 VC+VC+来实现(基本对话框实现)来实现(基本对话框实现) 。(1)(1)包含的功能有:加、减、乘、除运
3、算,开方、求倒数等功能。包含的功能有:加、减、乘、除运算,开方、求倒数等功能。 (2)(2)计算器上数字计算器上数字 0 09 9 为一个控件数组,加、减、乘、除为一个控为一个控件数组,加、减、乘、除为一个控 件数组,其余为单一的控件。件数组,其余为单一的控件。 (3)(3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一 个标签中。个标签中。(4)“CE”(4)“CE”按钮可以清除所有已输入的数据从头计算。按钮可以清除所有已输入的数据从头计算。(5)“(5)“BackspaceBackspace”按钮是对输入错数据进行逐一的清楚
4、。按钮是对输入错数据进行逐一的清楚。2 2、实验步骤:实验步骤:(1)(1)执行执行 MicrosoftMicrosoft VisualVisual C+C+ 6.06.0 程序,选择程序,选择 File|NewFile|New 命令,命令, 弹出弹出 NewNew 对话框对话框. .单击单击 ProjectsProjects 标签,转到标签,转到 ProjectsProjects 选项卡,选择选项卡,选择 MFCMFC AppWizard(exe)AppWizard(exe)选项,然后在选项,然后在 ProjectProject namename 文本框中输入文本框中输入 Calculato
5、rCalculator 。LacationLacation 文本框是指项目的本地路径。文本框是指项目的本地路径。 (2)(2)单击单击 OKOK 按钮,弹出按钮,弹出 MFCMFC AppWinzard_Step1AppWinzard_Step1 对话框。选中单选按对话框。选中单选按 钮。钮。 (3)(3)单击单击 FinishFinish 按钮,创建框架。按钮,创建框架。编辑对话框及控件资源 利用 Visual C+提供的资源编辑器对对话框资源进行编辑。删除对话框中默认的 OK 和 Cancel 按钮。添加一个 Edit 控件,其控件 ID 为 IDC_EDIT1。添加若干按钮控件,其 ID
6、 如表 4-1 所示。表 4-1 按钮控件资源清单按钮名称按钮 ID用途0BTN_0按键 01BTN_1按键 12BTN_2按键 23BTN_3按键 34BTN_4按键 45BTN_5按键 56BTN_6按键 67BTN_7按键 78BTN_8按键 89BTN_9按键 9。BTN_10小数点=BTN_11求值+BTN_12加号-BTN_13减号*BTN_14乘号/BTN_15除号CEBTN_16清屏SqrtBTN_17开方1/xBTN_18倒数-/+BTN_19正负号10xBTN_2010 的 x 次方n!BTN_21N 的阶层3 3、实验代码:实验代码:/ 计算器 Dlg.h : heade
7、r file /#if !defined(AFX_DLG_H_F8B356DA_0682_4B38_92DA_782E8F2E92C9_I NCLUDED_) #define AFX_DLG_H_F8B356DA_0682_4B38_92DA_782E8F2E92C9_INCLUDED_#if _MSC_VER 1000 #pragma once #endif / _MSC_VER 1000/ / / CMyDlg dialogclass CMyDlg : public CDialog / Construction public: CString m_ce;CString m_M; int m
8、_sign; int fi; CString s; int m_flag; double m_d; CMyDlg(CWnd* pParent = NULL); / standard constructor/ Dialog Data /AFX_DATA(CMyDlg) enum IDD = IDD_MY_DIALOG ; CStringm_s; /AFX_DATA/ ClassWizard generated virtual function overrides /AFX_VIRTUAL(CMyDlg) protected: virtual void DoDataExchange(CDataEx
9、change* pDX);/ DDX/DDV support /AFX_VIRTUAL/ Implementation protected: HICON m_hIcon;/ Generated message map functions /AFX_MSG(CMyDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void On0(); afx_
10、msg void On1(); afx_msg void On2(); afx_msg void On3(); afx_msg void On4(); afx_msg void On5(); afx_msg void On6();afx_msg void On7(); afx_msg void On8(); afx_msg void On9(); afx_msg void OnPoint(); afx_msg void OnAdd(); afx_msg void OnSub(); afx_msg void OnMul(); afx_msg void OnDiv(); afx_msg void
11、OnEqual(); afx_msg void OnClear(); afx_msg void OnReci(); afx_msg void Onplusorminus(); afx_msg void OnBackspace(); afx_msg void Onpercent(); afx_msg void OnSqrt(); afx_msg void OnMAdd(); afx_msg void OnMc(); afx_msg void OnMr(); afx_msg void OnMs(); /AFX_MSG DECLARE_MESSAGE_MAP() ;/AFX_INSERT_LOCAT
12、ION / Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_DLG_H_F8B356DA_0682_4B38_92DA_782E8F2E92C9_I NCLUDED_)/ 计算器 Dlg.cpp : implementation file /#include “stdafx.h“ #include “math.h“ #include “计算器.h“#include “计算器 Dlg.h“#ifdef _DEBUG
13、#define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif/ / / CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog public: CAboutDlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA/ ClassWizard generated virtual function overrides /AFX_VIR
14、TUAL(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:DoDataExcha
15、nge(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAP BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) /AFX_MSG_MAP(CAboutDlg) / No message handlers /AFX_MSG_MAP END_MESSAGE_MAP()/ / / CMyDlg dialogCMyDlg:CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg:IDD, pParent) /AFX_DATA_INIT(CMyDlg) m_s = _T(“); /AFX_DATA_INIT / Note that LoadIcon