ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:440.50KB ,
资源ID:849948      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-849948.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

基于对话框的等腰三角形显示.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.

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

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

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