十五周任务(一)为应用程序增加周长
来源:互联网 发布:淘宝弓 编辑:程序博客网 时间:2024/05/19 23:24
* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:为应用程序增加周长 * 作 者: 齐艳红 * 完成日期: 2012 年 05 月 28 日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: * 问题描述:为应用程序增加周长 * 程序头部的注释结束 */MyTriangle.cpp#include"stdafx.h"#include<Cmath>#include"MyTriangle.h"double Triangle::area(void){double s=(a+b+c)/2;return sqrt(s*(s-a)*(s-b)*(s-c));}double Triangle::per(void){return (a+b+c);}eDlg.cpp// eDlg.cpp : 实现文件//#include "stdafx.h"#include "e.h"#include "eDlg.h"#include"MyTriangle.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialog{public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){}void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()// CeDlg 对话框CeDlg::CeDlg(CWnd* pParent /*=NULL*/): CDialog(CeDlg::IDD, pParent), m_a(0), m_b(0), m_c(0), m_area(0), m_s(0){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CeDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, m_a);DDX_Text(pDX, IDC_EDIT2, m_b);DDX_Text(pDX, IDC_EDIT3, m_c);DDX_Text(pDX, IDC_EDIT4, m_area);DDX_Text(pDX, IDC_EDIT5, m_s);}BEGIN_MESSAGE_MAP(CeDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()//}}AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON1, &CeDlg::OnBnClickedButton1)ON_BN_CLICKED(IDC_BUTTON3, &CeDlg::OnBnClickedButton3)END_MESSAGE_MAP()// CeDlg 消息处理程序BOOL CeDlg::OnInitDialog(){CDialog::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。// IDM_ABOUTBOX 必须在系统命令范围内。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动// 执行此操作SetIcon(m_hIcon, TRUE);// 设置大图标SetIcon(m_hIcon, FALSE);// 设置小图标// TODO: 在此添加额外的初始化代码return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}void CeDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// 如果向对话框添加最小化按钮,则需要下面的代码// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,// 这将由框架自动完成。void CeDlg::OnPaint(){if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// 绘制图标dc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}//当用户拖动最小化窗口时系统调用此函数取得光标//显示。HCURSOR CeDlg::OnQueryDragIcon(){return static_cast<HCURSOR>(m_hIcon);}void CeDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码UpdateData();Triangle t1(m_a,m_b,m_c);m_area=t1.area();UpdateData(FALSE);}void CeDlg::OnBnClickedButton3(){// TODO: 在此添加控件通知处理程序代码 UpdateData();Triangle t1(m_a,m_b,m_c);m_s=t1.per();UpdateData(FALSE);}MyTriangle.hclass Triangle{public:Triangle(){a=1;b=1;c=1;}Triangle (double x,double y,double z){a=x;b=y;c=z;}double area(void);double per(void);private:double a,b,c;};
总结:看到这个画面有一丝小小的成就感,看起来比较专业一点,整个MFC的学习过程建立了,一次的建立为下次奠定基础,好好运用此程序,相信会在此上有一番作为!
- 十五周任务(一)为应用程序增加周长
- 第十五周实验--任务1--《窗口程序设计及MFC启蒙》--为应用程序增加求周长的功能
- 《第十五周实验报告1-1》---在《窗口程序设计及MFC 启蒙》一文案例的基础上,为应用程序增加求周长的功能
- 十五周任务一
- 十五周任务一
- 十五周任务一
- 十五周任务1:窗口启蒙(计算三角形周长和面积)
- 十五周作业任务一
- 第十五实验报告一在《窗口程序设计及MFC 启蒙》一文案例的基础上,为应用程序增加求周长的功能
- 《第十五周任务一》计算三角形的面积和周长
- 十五周(一)
- 十五周任务
- 十五周任务二
- 十五周任务三
- 十五周任务三
- 十五周任务1
- 十五周任务1
- 十五周任务1
- Xcode快捷键和使用技巧
- ios将摄像头捕获的视频数据转为jpeg格式
- 英语速学法
- find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression]
- dll文件的加载顺序
- 十五周任务(一)为应用程序增加周长
- chrome浏览器的快捷键
- ios学习--SQLite常用函数
- python-上传样本到virustotal,查询扫描信息
- 如何消除 sql server 2008 查询语句的红色波浪线
- Java学习之路 --The Road Of Java Study
- ListPicker控件使用
- POM详解
- Drawable Mutations(Android Drawable 深入分析)