软件基础课程设计报告C语言(MFC)计算器设计

上传人:新** 文档编号:552964786 上传时间:2022-09-22 格式:DOC 页数:21 大小:224.52KB
返回 下载 相关 举报
软件基础课程设计报告C语言(MFC)计算器设计_第1页
第1页 / 共21页
软件基础课程设计报告C语言(MFC)计算器设计_第2页
第2页 / 共21页
软件基础课程设计报告C语言(MFC)计算器设计_第3页
第3页 / 共21页
软件基础课程设计报告C语言(MFC)计算器设计_第4页
第4页 / 共21页
软件基础课程设计报告C语言(MFC)计算器设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《软件基础课程设计报告C语言(MFC)计算器设计》由会员分享,可在线阅读,更多相关《软件基础课程设计报告C语言(MFC)计算器设计(21页珍藏版)》请在金锄头文库上搜索。

1、软件基础课程设计报告 一、需求分析系统目标:设计的计算器至少能够进行简单的四则运算和求倒数求反以及开方运算。主体功能:程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,如:三角函数的计算,弧度与角度间的转换,对数指数的计算等。开发环境:操作系统:Windows XP编程环境:MicrosoftVisualC+6.0 二、功能说明(1)包含的功能有:加、减、乘、除运算,开方、求倒数、三角函数、弧度与角度间的转换、对数指数的计算等功能。(2)计算器上数字09为一个控件数组,加、减、乘、除为一个控件数组,其余为单

2、一的控件。(3)给对话框添加菜单。(4)计算功能基本上是用系统内部函数。(5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。(6)“CE”按钮可以清除所有已输入的数据从头计算,“Back”按钮可以实现退位功能。(7)能够显示时间、日期。三、详细设计(1)流程图创建工程(创建一个对话框应用程序)设计对话框界面设置各控件属性为编辑框连接成员变量为类添加数据成员,初始化构造函数。为所有按钮添加事件对类添加成员函数(更新编辑框)并进行实现实现对各按钮事件的实现(2)编辑资源(3)效果图四、程序附录计算器Dlg.cpp :#include stdafx.h#incl

3、ude 计算器.h#include 计算器Dlg.h#include math.h#includeFirstDlg.h#include #define PI 3.14;#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD

4、 = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAbout

5、Dlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg dialogCMyDlg:CMyDlg(

6、CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)m_result = 0.0;/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX

7、_DATA_MAP(CMyDlg)DDX_Control(pDX, IDC_EDIT1, m_EDIT);DDX_Text(pDX, IDC_EDIT1, m_result);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyDlg, CDialog)/AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_NUM0, OnNum0)ON_BN_CLICKED(IDC_NUM1, OnNum1)ON_BN_CLICKED(IDC_NUM2, OnNum2)

8、ON_BN_CLICKED(IDC_NUM3, OnNum3)ON_BN_CLICKED(IDC_NUM4, OnNum4)ON_BN_CLICKED(IDC_NUM5, OnNum5)ON_BN_CLICKED(IDC_NUM6, OnNum6)ON_BN_CLICKED(IDC_NUM7, OnNum7)ON_BN_CLICKED(IDC_NUM8, OnNum8)ON_BN_CLICKED(IDC_NUM9, OnNum9)ON_BN_CLICKED(IDC_DOT, OnDot)ON_BN_CLICKED(IDC_CE, OnCe)ON_BN_CLICKED(IDC_jia, Onji

9、a)ON_BN_CLICKED(IDC_jian, Onjian)ON_BN_CLICKED(IDC_cheng, Oncheng)ON_BN_CLICKED(IDC_chu, Onchu)ON_BN_CLICKED(IDC_dengyu, Ondengyu)ON_BN_CLICKED(IDC_daoshu, Ondaoshu)ON_BN_CLICKED(IDC_zhengfu, Onzhengfu)ON_BN_CLICKED(IDC_BACKSPACE, OnBackspace)ON_BN_CLICKED(IDC_Ln, OnLn)ON_BN_CLICKED(IDC_log, Onlog)O

10、N_BN_CLICKED(IDC_RADIO2, OnRadio2)ON_BN_CLICKED(IDC_RADIO1, OnRadio1)ON_BN_CLICKED(IDC_sqrt, Onsqrt)ON_BN_CLICKED(IDC_sin, Onsin)ON_BN_CLICKED(IDC_cos, Oncos)ON_BN_CLICKED(IDC_tan, Ontan)ON_BN_CLICKED(IDC_pingfang, Onpingfang)ON_BN_CLICKED(IDC_lifang, Onlifang)ON_BN_CLICKED(IDC_mi, Onmi)ON_BN_CLICKE

11、D(IDC_Exp, OnExp)ON_BN_CLICKED(IDC_10demi, On10demi)ON_BN_CLICKED(IDC_jiecheng, Onjiecheng)ON_COMMAND(ID_TIME, OnTime)ON_COMMAND(ID_DATE, OnDate)ON_COMMAND(ID_EXIT, OnExit)ON_COMMAND(ID_HELP, OnHelp)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog(

12、);/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization hereCheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);UpdateData(FALSE); quan2=1; dotflag=0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号