欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于对话框的等腰三角形显示.doc

    • 资源ID:849948       资源大小:440.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于对话框的等腰三角形显示.doc

    1、 目 录一、课程设计说明6二、设计目的简介7三、设计主要方案及理论介绍7四、设计主要步骤8五、程序源代码9六、运行结果16七、设计评述及体会17八、参考文献18一、课程设计说明Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成

    2、,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。本课程设计中应用的是Visual C+6.0中三个主要的部分之一的MFC来编程实现对计算机系统信息的获取。MFC是Win API与C+的结合,MFC是微软封装了的API。windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。

    3、MFC是面向对象程序设计与Application framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,MFC是对WindowsAPI的封装,大大简化了我们的工作。通过学习和上机实践及在老师的指导下,学习并初步掌握使用vc+开发环境进行编程。学会口令对话框的制作和实现,学会应用VC+库函数实现语音文件的播放、暂停等功能。在计算机信息技术普及的时代,掌握一门高级编程语言是很重要的。二、设计目的简介(1)掌握VC+程序开发平台;(2)掌握对话框模式的可视化实现和消息响应;(3)掌握对话框的制作和实现;(4)掌握应用VC+库函数实现数据的生成、动态显示及参数动态

    4、改变等功能。三、设计主要方案及理论介绍二人进行分工合作各个击破,各自实现不同的功能,完成不同的分工。二人共同负责对话框的制作以及相应的响应函数,一人实现三角形及坐标轴显示;一人负责实现输出三角形周长和面积数值的功能;最后二人进行整体的完善工作,最终完成设计任务。使用应用程序开发向导(AppWizard)创建基于MFC的Windows应有程序框架,根据要建立的应用程序的需要,在每一步设置不同的选项,得到开发应用程序的基本文件,然后利用类向导,来实现应用程序的具体功能。具体操作步骤有:创建对话框工程、添加对话框模板、设置对话框模板属性;创建对话框类,编写相关按钮响应函数,初始化对话框类,编译并运行

    5、程序。四、设计主要步骤1、学习VC有关编程方法及VC+程序开发平台;2、设计主对话框界面;3、编写添加按钮事件响应函数;4.设计三角形数据输出函数5、编译并运行程序。6、撰写课程设计报告。五、程序源代码对话框:/ TriangleDlg.cpp : 实现文件/#include stdafx.h#include Triangle.h#include TriangleDlg.h#include math.h#ifdef _DEBUG#define new DEBUG_NEW#endif/ 用于应用程序“关于”菜单项的CAboutDlg 对话框class CAboutDlg : public CDi

    6、alogpublic: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_M

    7、AP(CAboutDlg, CDialog)END_MESSAGE_MAP()/ CTriangleDlg 对话框CTriangleDlg:CTriangleDlg(CWnd* pParent /*=NULL*/): CDialog(CTriangleDlg:IDD, pParent), m_w(0), m_y(0), m_area(0), m_round(0), m_g(0), m_d(0)m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CTriangleDlg:DoDataExchange(CDataExchange* pDX)CDia

    8、log:DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, m_w);DDX_Text(pDX, IDC_EDIT2, m_y);DDX_Text(pDX, IDC_EDIT3, m_area);DDX_Text(pDX, IDC_EDIT4, m_round);DDX_Text(pDX, IDC_EDIT5, m_g);DDX_Text(pDX, IDC_EDIT6, m_d);BEGIN_MESSAGE_MAP(CTriangleDlg, CDialog)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICO

    9、N()/AFX_MSG_MAPON_BN_CLICKED(IDC_BUTTON1, &CTriangleDlg:OnBnClickedButton1)END_MESSAGE_MAP()/ CTriangleDlg 消息处理程序BOOL CTriangleDlg:OnInitDialog()CDialog:OnInitDialog();/ 将“关于.”菜单项添加到系统菜单中。/ IDM_ABOUTBOX 必须在系统命令范围内。ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARA

    10、TOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动/ 执行此操作SetIcon(m_hIcon, TRUE);/ 设置大图标SetIcon(m_hIcon, FALSE);/ 设置小图标/ TODO: 在此添加额外的初始化代码return TRUE; / 除非将焦点设置到控件,否则返回TRUEvoid CTriangleDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABO

    11、UTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ 如果向对话框添加最小化按钮,则需要下面的代码/ 来绘制该图标。对于使用文档/视图模型的MFC 应用程序,/ 这将由框架自动完成。坐标轴绘制源代码:void CTriangleDlg:OnPaint() CPaintDC dc(this); CRect rect; GetClientRect(&rect); int N=20; int nWidth=rect.Width(); int nHeight=rect.Height()+3

    12、0; dc.SetViewportOrg(nWidth/4+50,nHeight/2); dc.SetTextAlign(TA_CENTER|TA_BOTTOM); dc.SetBkMode(TRANSPARENT); CPen pen(0,1,RGB(0,0,255); CPen* pOldPen=dc.SelectObject(&pen); dc.MoveTo(-nWidth/4,0); /x dc.LineTo(nWidth/4,0); dc.MoveTo(0,nHeight/2); /y dc.LineTo(0,-nHeight/2+30); for(int i=1;i8;i+) /x

    13、y+箭头 dc.MoveTo(i/2,-nHeight/2+i+30); dc.LineTo(-i/2,-nHeight/2+i+30); dc.MoveTo(nWidth/4-i,i/2); dc.LineTo(nWidth/4-i,-i/2); for(int i=N;inWidth/4;i+=N) /x+刻度及数字 dc.MoveTo(i,0); dc.LineTo(i,5); CString string; string.Format(_T(%d),(i/N); dc.TextOutW(i,20,string); for(int i=N;i-nWidth/4;i-=N) /x-刻度及数

    14、字 dc.MoveTo(i,0); dc.LineTo(i,5); CString string; string.Format(_T(-%d),(i/N); dc.TextOutW(i,20,string); for(int i=-N;i-nHeight/2+30;i-=N) /y+刻度及数字 dc.MoveTo(0,i); dc.LineTo(-5,i); CString string; string.Format(_T(%d),(-i/N); dc.TextOutW(12,i+8,string); CDialog:OnPaint();/当用户拖动最小化窗口时系统调用此函数取得光标/显示。H

    15、CURSOR CTriangleDlg:OnQueryDragIcon()return static_cast(m_hIcon);绘制三角形代码:void CTriangleDlg:Draw()UpdateData(true);double m_h=sqrt(m_y*m_y-m_w*m_w/4);CRect rect; GetClientRect(&rect); int N=20; int nWidth=rect.Width(); int nHeight=rect.Height()+30;CDC *pDC=GetDC();CPen newPen;newPen.CreatePen(PS_SOLI

    16、D,1,RGB(255,0,0);pDC-SelectObject(&newPen);pDC-MoveTo(nWidth/4+50,nHeight/2); pDC-LineTo(int)(m_w/2+nWidth/4+50),(int)(nHeight/2-m_h); pDC-LineTo(int)(m_w+nWidth/4+50),nHeight/2); pDC-LineTo(nWidth/4+50,nHeight/2);/绘制三角形计算三角形参数代码:void CTriangleDlg:Calculate()UpdateData(true);CString Edit;Edit=不能构成确定

    17、的三角形;double PI=3.14159265358979323842264338327950288,g,d;g=m_g*PI/180;d=m_d*PI/180;if(m_g&m_d)AfxMessageBox(Edit);if(m_g&m_w)m_y=m_w/cos(g)/2;if(m_g&m_y)m_w=m_y*cos(g)*2;if(m_d&m_w)m_y=m_w/sin(d/2)/2;if(m_d&m_y)m_w=2*m_y*sin(d/2); /计算m_y和m_wif(m_w&m_y)m_round=m_w+2*m_y;UpdateData(false); m_area=sqrt

    18、(m_y*m_y-m_w*m_w/4)*m_w/2; UpdateData(false);/计算周长、面积 消息事件响应函数:void CTriangleDlg:OnBnClickedButton1()Calculate();Draw();/ TODO: 在此添加控件通知处理程序代码void CTriangleDlg:OnBnClickedCancel()/ TODO: 在此添加控件通知处理程序代码OnCancel();六、运行结果七、评述及心得体会 通过完成本次课程设计任务,我们对Visual C+有了初步了解,掌握了Visual C+6.0的一些基本操作,并对其产生了浓厚的兴趣,使我们对面

    19、向对象与可视化程序设计有了一定的认识,并提高了动手编程的能力。两位同学合作完成,提高了团队意识及协作精神。同时,发现了自己对编程有很多的不了解以及自己身上的许多不足之处,以后会更加努力,不断完善自己。八、参考文献1、于永彦等,Visual C+ 程序设计实用案例教程。北京:北京大学出版社。2010。2、 王华, 叶爱亮, 祁立学等. Visual C+ 6.0 编程实例与技巧. 北京:机械工业出版社, 1999.3、李光明. Visual C+ 6.0 经典实例大制作. 北京:中国人事出版社,2000.4、严华峰. Visual C+ 课程设计案例精编. 北京:中国水利水电出版社,2002.5、官章全, 刘加明. Visual C+ 6.0 类库大全. 北京:电子工业出版社,1999.6、张荣梅,梁晓林. Visual C+实用教程. 北京:冶金工业出版社,2004.7、魏亮,李春葆. Visual C+程序设计例学与实践. 北京:清华大学出版社,2006.8、陈清华, 朱红. Visual C+课程设计案例精选与编程指导. 南京:东南大学出版社,2004.


    注意事项

    本文(基于对话框的等腰三角形显示.doc)为本站会员(管**)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922