欢迎来到天天文库
浏览记录
ID:18935611
大小:69.25 KB
页数:28页
时间:2018-09-27
《程序设计实践 计算器程序实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称:简易计算器设计与实现学生姓名:班级:班内序号:学号:日期:第28页北京邮电大学信息与通信工程学院课题概述1.1课题目标和主要内容本案例以编写基于MFC的简易计算器软件为例,通过学习MFC事件驱动机制、MFC界面设计、MFC控件使用,并掌握MFC应用程序的设计方法,独立完成一个MFC的一个MFC的应用程序。本案例的重点是学习如何使用MFC基本控件和事件驱动机制完成一个Windows下交互式应用软件。本次实验所用的开发平台为VisualStudio2008。1.2系统的主要功能基本功能单击数字键,显示当前数值单击“+”、“-”、“*”、“
2、/”建进行运算单击“=”,显示运算结果单击“C”,清楚已有结果进行连续四则运算扩展功能进行浮点运算进行平方、绝对值、倒数运算进行三角函数运算2.系统设计2.1系统总体框架对话框编辑框按钮事件驱动函数运算函数第28页北京邮电大学信息与通信工程学院2.2系统详细设计[1]模块划分图及描述(1)对话框:第28页北京邮电大学信息与通信工程学院此模块实现的是与用户的交互,本案例使用了两类控件:编辑框和按钮。(2)事件驱动函数:例如:voidCdckcalculatorDlg::OnBnClickedBtn1(){//TODO:在此添加控件通知处理程序代码ClickNum("1");}此模块处理的是程序如
3、何响应鼠标的单击,主要由消息映射和消息处理函数两部组成。(3)运算函数:例如:voidCdckCalculatorDlg::onButtonN(intn){if(m_coff==1.0)m_second=m_second*10+n;//作为整数输入数字时骸else{m_second=m_second+n*m_coff;//作为小数输入数字m_coff*=0.1;}UpdateDisplay(m_second);//更新编辑框的数字显示}第28页北京邮电大学信息与通信工程学院此模块是本实验的核心内容,它控制着整个程序的逻辑功能,它所实现的主要是逻辑运算以及数据交换。[2]类关系图及描述在calc
4、ulatorDlg.h中设置CcalculatorDlg类,如下所示://dckCalculatorDlg.h:头文件//#pragmaonce//CdckCalculatorDlg对话框classCdckCalculatorDlg:publicCDialog{//构造public:CdckCalculatorDlg(CWnd*pParent=NULL);//标准构造函数//对话框数据enum{IDD=IDD_DCKCALCULATOR_DIALOG};protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持//实现p
5、rotected:第28页北京邮电大学信息与通信工程学院HICONm_hIcon;//生成的消息映射函数virtualBOOLOnInitDialog();afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);afx_msgvoidOnPaint();afx_msgHCURSOROnQueryDragIcon();DECLARE_MESSAGE_MAP()public:doublem_first;public:doublem_second;public:CStringm_operator;public:doublem_coff;public:CString
6、m_display;public:voidUpdateDisplay(doubledck);public:voidCalculate(void);public:afx_msgvoidOnBnClickedButton0();public:afx_msgvoidOnBnClickedButton1();public:afx_msgvoidOnBnClickedButton2();第28页北京邮电大学信息与通信工程学院public:afx_msgvoidOnBnClickedButton3();public:afx_msgvoidOnBnClickedButton4();public:afx_ms
7、gvoidOnBnClickedButton5();public:afx_msgvoidOnBnClickedButton6();public:afx_msgvoidOnBnClickedButton7();public:afx_msgvoidOnBnClickedButton8();public:afx_msgvoidOnBnClickedButton9();public:afx_msgvoid
此文档下载收益归作者所有