欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    软件项目实训华氏温度与摄氏温度的转换.doc

    • 资源ID:2885323       资源大小:1.36MB        全文页数:29页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    软件项目实训华氏温度与摄氏温度的转换.doc

    电气信息学院实训报告课 程 名 称: 软件项目实训 实 训 题 目: 华氏温度与摄氏温度的转换 年级/专业/班: 学 生 姓 名: 夏雪峰 学 号: 实训成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5) 报告撰写质量(45)总 分(100)指导教师签名: 年 月 日实训时间6.11-6.24地点L4B308 实训学时2周实训 目的 提高面向对象的可视化编程能力提高合作协调能力掌握Visual C+可视化程序界面设计的基本方法实训内容   题目概述: 目前,随着社会的进步和发展,温度控制器的应用已越来越广泛,许多国家用的温度是华氏,一般传统的温度计只能测量和显示实时的摄氏或者华氏温度,功能单一。已经不能很好适应现代化工农业生产、生活的需要。基于以上的考虑,本设计制作两种温度的转换,其中华氏与摄氏温度是经常用到的。编程实现功能简介:本程序是通过输入华氏温度,经过程序计算来得出摄氏温度,或通过输入摄氏温度,经程序计算得出华氏温度。整个程序的框架是这样构建的:一边是摄氏温度的输入(输出)框,一边是华氏温度的输入(输出)框。理论上的运行过程是这样的:如果在摄氏温度框内输入一个数值,然后点击“转换”按钮,在另一边的华氏温度框内就会显示出对应的数值;如果在华氏温度框内输入一个数值,然后点击“转换”按钮,在另一边的摄氏温度框内就会显示出对应的数值。完成之后还需设计一个小应用,就是当温度达到一定程度的时候会有个消息框进行提示“请注意防暑或请注意保暖”!实训分工安排本程序由两人共同完成其中同学主要负责程序调试与编写等工作;同学主要负责资料收集和实训调试与内容功能的确定工作;实训要求  两人合作完成同一项目分工合作后汇总进行统一测试与更正使用Visual C+6.0实现用户界面使用实训室及 主要设施设备 L4B305联想商用电脑D2527联想Y460实 训 成 果 1 完成了此次实训内容,能够进行简单的温度转换以及能够提示防寒避暑等问题。2 完成了实训报告3在程序设计中遇到困难时,我和同学们一起讨论,解决问题,遇到实在是想不通的地方,通过老师的指点答疑,最终共同完成了程序。在整个过程中,也增进了我发现问题和解决问题的能力。 1 引言 1.1系统概述 本程序是通过输入华氏温度,经过程序计算来得出摄氏温度,或通过输入摄氏温度,经程序计算得出华氏温度。整个程序的框架是这样构建的:一边是摄氏温度的输入(输出)框,一边是华氏温度的输入(输出)框,其中输出框可以选取一个。理论上的运行过程是这样的:如果在摄氏温度框内输入一个数值,然后点击“转换”按钮,在另一边的华氏温度框内就会显示出对应的输出数值;如果在华氏温度框内输入一个数值,然后点击“转换”按钮,在另一边的摄氏温度框内就会显示出对应的输出数值,当两组数据转换完成之后还会设置一个清零按钮会清零所有输入数据。完成之后还需设计一个小应用,就是当温度达到一定程度的时候会有个消息框进行提示“请注意防暑或请注意保暖”!1.2 需求分析 目前,随着社会的进步和发展,温度控制器的应用已越来越广泛,许多国家用的温度是华氏,一般传统的温度计只能测量和显示实时的摄氏或者华氏温度,功能单一。已经不能很好适应现代化工农业生产、生活的需要。基于以上的考虑,本设计制作两种温度的转换,其中华氏与摄氏温度是经常用到的。1.3 运行环境 硬件::计算机(CPU 主频 1.81GHz、512MB内存)软件:Windows XP 操作系统,Visual C+6.0 是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员可以里利用该开发环境轻松地访问C+源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。Visual C+6.0不仅包括编译器,而且它还包括许多有用组件,通过这些组件的协同工作,可以在Visual C+6.0集成环境中轻松地完成创建源文件,编辑资源,以及对程序的编译,连接和调试等各项工作。VC+6.0是Windows 95/98、XP或Windows NT下的一个应用程序,本身对软硬件没有特殊要求。就是说它对环境的要求与Windows 95/98、Windows NT要求是一致的。硬件要求:一般在586以上的处理器、16MB以上内存、100MB以上的硬盘。软件要求:Windows 95/98或Windows NT3.51以上版本。VC+ 6.0系统可以在一张CD盘上,也可以在“Visual Studio( Visual C+、Visual Foxpro)”等产品的第一张CD盘上。一般都有一个VC的自动安装程序,也可以执行VC6目录下的setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。在安装好VC 6.0系统后,有时根据需要添加或删除某些部件,可插入CD盘重新执行setup.exe安装程序,安装程序会检测当前系统安装VC6的足件,用户单击“添加删除”按钮后,在“安装维护”对话框中选定要添加的部件或撤消选定要删除的部件。与一般的应用软件一样,有以下两种启动方式:(1) 通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual studio 6.0中文版”子菜单中的“Microsoft Visual C+ 6.0 中文版”程序。(2) 用户也可以使用命令行启动VC。单击“开始”按钮后选择“运行”命令,在“运行”对话框中输入c:Program FilesMicrosoft Visual StudioVC98VC6.exe(按默认盘符和路径安装)即可。 2 概要设计2.1 设计思路 设置窗口à布局à消息映射函数à程序编写à编译à调试à验证à总结2.2 模块功能介绍 本次课程设计主要分为三个模块(1) 华氏温度与摄氏温度的相互转换(2) 数值清零(3) 消息框的编辑2.3 模块结构图 2.4 程序流程图点击转换 点击转换 显示运算结果会出现相应的摄氏温度或者华氏温度以及消息提示框在编辑框内输入华氏温度或者摄氏温度运行程序清零 2.5 功能设计分工 本次课程设计我主要是进行资料的收集,功能的开发以及最后的调试。我先是查找有关的资料,在网上找到温度转换的相关实际应用与开发前景。找到Microsoft Visual C+ 6.0更加详细的说明教程。通过上网和书上查证得到华氏与摄氏温度转换的函数关系编程完成后进行导入到Visual C+ 6.0完成函数映射,进行编译最后得到了想要的温度转换工具。但是陈老师说我们这个太过简单需要添加一些应用项目,所以我建议我的同伴添加一个消息框,当温度达到一定时提示我们“请注意防暑或请注意保暖”,本来我还想在添加一个图形来形象表示温度计,但是在网上和书上也没能找到关于温度的控件,所以不再尝试了!3详细设计3.1 窗体设计利用MFC AppWinzard生成应用程序框架具体步骤如下:(1) 执行VC程序,选择新建命令,弹出对话框.单击工程标签,转到工程选项卡,选择MFC AppWizard(exe)选项,然后在添加到工程文本框中输入“摄氏温度与华氏温度转换”文本框是指项目的本地路径如下图所示。(2) 单击按钮,弹出MFC AppWinzard_Step1对话框。选中单选按钮,如下图所示。(3) 单击完成按钮,则建立一个单文档应用框架,如下图所示。(4) 新建编辑框和按键键,如下图所示。(5)修改名称,点右键选择属性选项即可如下图所示。(6) 设置编辑框和按键键的属性,主要是消息映射函数设定,如下图所示。 (6) 设置功能模块的各个程序代码,点击OK按键就可以直接跳转到这个功能模块的程序代码,如下图所示。 (7) 功能模块的各个程序编完后,点击左上角的保存按键,等待执行程序3.2 功能模块程序 功能模块一温度相互转换程序和功能模块三消息框的程序在按键button1(转换)按键上: void CTemDlg:OnButton1() / TODO: Add your control notification handler code herethis->UpdateData (1);if(m_a)m_c.Format("%f",(m_a-32)/1.8);已知华氏求摄氏elsem_c.Format("%f",(1.8*m_b+32);已知摄氏求华氏 if(m_b>30&&m_a=0) 消息框的设定MessageBox("注意防暑", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_b<10&&m_a=0)MessageBox("注意保暖", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_a>86&&m_b=0)MessageBox("注意防暑", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_a<50&&m_b=0)MessageBox("注意保暖", "消息框", MB_ICONEXCLAMATION|MB_OK);this->UpdateData (0);功能模块二清零程序在button2(清零)按键上:void CTemDlg:OnButton2() / TODO: Add your control notification handler code herethis->UpdateData (1); m_a=0; 对编辑框一清零 m_b=0; 对编辑框二清零this->UpdateData (0);4 调试分析 (1) 在Windows可视化界面中,消息映射函数十分重要,我就搞错了好几次两个温度的函数定义符号搞反了,每个按钮必须与与之对应的消息函数对应,同时,函数的变量也应该在MFC Class Wizard里设置准确,否则会影响最终的调试。(2) 在设置编辑框的变量时要注意与程序中的的变量名保持一致,这样才能保证键入的数值能正确显示在程序框中。在温度转换的过程中变量的名字搞错了几次,最后直接用a、b、c与之区别。(3) 本次设计中存在的缺陷就是没能在成品里面添加一个图形的温度计,这是因为我们没能找到相关的插件。5 测试 (1) 编辑保存后,进行过编译运行,即点击右上角的“感叹号”如下图所示。 (2) 然后就可以得到所需要的结果,当温度达到一定程度(低于30摄氏度或者高于10摄氏度)的时候会有个消息框进行提示“请注意防暑或请注意保暖”!如下图所示。 (3) 进行验证输入华氏温度99度,点击转换按钮就可以得到输出端的摄氏温度37.22222度和消息框“注意防暑” 如下图所示。 (4) 进行验证输入华氏温度45度,点击转换按钮就可以得到输出端的摄氏温度7.22222度和消息框“注意保暖” 如下图所示。 (5) 进行验证输入摄氏温度度,点击转换按钮就可以得到输出端的摄氏温度37.22222度和消息框“注意防暑” 如下图所示。 (6) 进行验证输入摄氏温度5度,点击转换按钮就可以得到输出端的摄氏温度41度和消息框“注意保暖” 如下图所示。 (7) 进行验证输入华氏温度65度,点击转换按钮就可以得到输出端的摄氏温度18.3333度且不会出现消息框。 心得与体会本课程设计主要是温度的转换,将华氏温度转换成摄氏温度,同时设计了一个小应用,就是当温度达到一定程度(低于30摄氏度或者高于10摄氏度)的时候会有个消息框进行提示“请注意防暑或请注意保暖”!通过温度转换程序的设计,使我对VC+ MFC有了一定了解,使用MFC类库可以大大简化程序的设计,为我们设计程序提供了很大的方便。我们通过查阅各种介绍MFC编程的书籍,最后学会了从利用MFC的应用程序向导(AppWizard)创建一个应用程序,再到添加控件,再到消息函数的创建,再到控件代码的编辑,最后完成程序。在程序设计中遇到困难时,我和同学们一起讨论,解决问题,遇到实在是想不通的地方,通过老师的指点答疑,最终共同完成了程序。在整个过程中,也增进了我发现问题和解决问题的能力。虽然只是两种温度的转换但是原理基本一样,而且在功能的设计中接受老师的建议增加了消息提示框这一项目,使得本次课程设计更加完善最后要感谢老师对我们的指导,感谢所有对我们提供过帮助的同学。相信我在今后的学习工作中也会受益匪浅。指导教师评语 指导教师签名:   年   月   日 参考文献 1 宋金珂编著, VC+程序设计基础教程,清华大学出版社2 谭浩强.c语言程序设计.清华大学出版社3汪翔,袁辉.Visual C+ 实践与提高(网络编程篇)M. 北京:中国铁道出版社,20014黄维通.Visual C+ 面向对象与可视化程序设计M. 北京:清华大学出版社,20035谢希任.计算机网络(第4版)M. 北京:电子工业出版社,20056(美)W. Richard Stevens. TCP/IP详解卷1:协议M. 北京:机械工业出版社,20057北京现代富博科技有限公司,陈兵旗,孙明. 北京:Visual C+实用图象处理专业教程M .清华大学出版社,2004、8 李晓黎编著.Visual Basic +SQL Server数据库应用系统开发与实例. 人民邮电出版社9 启明工作室编著.Visual Basic+Access数据库应用系统开发与实例. 人民邮电出版社10 启明工作室编著.Visual C+ + SQL Server数据库应用系统开发与实例. 人民邮电出版社附 录本次课程设计的核心程序代码 / temDlg.cpp : implementation file/#include "stdafx.h"#include "tem.h"#include "temDlg.h"#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 = 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(CAboutDlg: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()/ CTemDlg dialogCTemDlg:CTemDlg(CWnd* pParent /*=NULL*/): CDialog(CTemDlg:IDD, pParent)/AFX_DATA_INIT(CTemDlg)m_a = 0.0;m_b = 0.0;m_c = _T("");/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CTemDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CTemDlg)DDX_Text(pDX, IDC_EDIT1, m_a);DDX_Text(pDX, IDC_EDIT2, m_b);DDX_Text(pDX, IDC_EDIT3, m_c);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CTemDlg, CDialog)/AFX_MSG_MAP(CTemDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_WM_CREATE()ON_WM_HELPINFO()ON_WM_KILLFOCUS()ON_WM_CONTEXTMENU()/AFX_MSG_MAPEND_MESSAGE_MAP()/ CTemDlg message handlersBOOL CTemDlg:OnInitDialog()CDialog:OnInitDialog();/ 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 < 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);/ Set the icon for this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CTemDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CTemDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint 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;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CTemDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CTemDlg:OnButton1() / TODO: Add your control notification handler code herethis->UpdateData (1);if(m_a)m_c.Format("%f",(m_a-32)/1.8);elsem_c.Format("%f",(1.8*m_b+32); if(m_b>30&&m_a=0)MessageBox("注意防暑", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_b<10&&m_a=0)MessageBox("注意保暖", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_a>86&&m_b=0)MessageBox("注意防暑", "消息框", MB_ICONEXCLAMATION|MB_OK);else if(m_a<50&&m_b=0)MessageBox("注意保暖", "消息框", MB_ICONEXCLAMATION|MB_OK);this->UpdateData (0);void CTemDlg:OnButton2() / TODO: Add your control notification handler code herethis->UpdateData (1); m_a=0; m_b=0;this->UpdateData (0);int CTemDlg:OnCreate(LPCREATESTRUCT lpCreateStruct) if (CDialog:OnCreate(lpCreateStruct) = -1)return -1;/ TODO: Add your specialized creation code herereturn 0;BOOL CTemDlg:OnHelpInfo(HELPINFO* pHelpInfo) / TODO: Add your message handler code here and/or call defaultreturn CDialog:OnHelpInfo(pHelpInfo);void CTemDlg:OnKillFocus(CWnd* pNewWnd) CDialog:OnKillFocus(pNewWnd);/ TODO: Add your message handler code herevoid CTemDlg:OnContextMenu(CWnd* pWnd, CPoint point) / TODO: Add your message handler code here

    注意事项

    本文(软件项目实训华氏温度与摄氏温度的转换.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开