欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VC文档格式.docx

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

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

    基于VC文档格式.docx

    1、在编程语言方面,我们选择了比C更为严谨的C+语言,写出来的程序代码更为灵活和易于维护。在此次设计中,我们显示的时分秒是以24小时为计时方式,在设计时我们也对定时器进行了控制,不仅有显示时间的基本功能,还可以实现对时间的调整,当程序编译成功后界面将会出现一个时钟并且显示的时间是当前系统的时间,我们还能看到时针,分针,秒针随着时间的变化他们也不断发生变化;通过修改程序,我们可以对时钟的界面以及时针、分针等颜色的变化;关键词:Visual C+6.0; 数字时钟 ; window系统 ;C+ C + +-based design of digital clockJutingting(College

    2、of Physics Science and Information Engineering JiShou University in Hunan,416000)Abstract Modern life people pay more and more attention to the concept of time, is time and money on the equal sign. For time grasp very strict and accurate for the person or thing, time is not accurate brings very big

    3、trouble, so to c + + software design of digital clock shows great advantage, that simple and fast reading time, accurate to seconds, compared to mechanical depends on the crystal oscillator, may lead to error. The design of digital clock is based on Windows32 platform, with the help of a Visual c +

    4、+ 6.0 programming software to implement; It is also an internal core based on win32 programming, the algorithm of the flexible application of clock dial drawing and hour, minute hand and second hand in the past the point of view of a certain time; In programming languages, we chose a more rigorous t

    5、han C, C + + language to write the code more flexible and easy to maintain. In this design, we show that when the vehicle is 24 hours time, we also to control the timer when the design, not only has the basic function of display time, can also realize the adjustment of time, when after the success o

    6、f the program compiled interface will appear a clock and that is the time of the current system time, we can also see the hour hand, minute hand, second hand with the change of the time they are also constantly changing; By modifying the program, we can look at the clock interface and hour hand, min

    7、ute hand and other color changes;Key words: Visual c + + 6.0 ; digital clock ; MFC ;C+目 录第一章 绪 论 51.1 研究背景 51.2 研究目的 51.3 研究内容 51.4 本文的结构 6第二章 开发环境及相关技术的介绍 72.1 开发工具 72.2 软件环境 72.2.1 Visual C+ 6.0 72.2.2 MFC和C+ 82.2.3 开发平台Windows系统 82.2.4 win32核心编程机制 82.2.5 面向对象软件开发过程及思想 92.2.6 算法的设计 10第三章 数字时钟的功能和流

    8、程分析 103.1 时钟的功能模块分析 113.2 时钟的流程分析 11第四章 数字时钟的具体实现 124.1 时钟的总体设计 124.2 时钟的具体实现 124.3 时钟的运行效果 16第五章 时钟的测试、运行维护与评价 175.1 时钟的测试 175.2 时钟的运行维护 175.3 时钟设计的评价 17总 结 18参考文献 19第一章 绪 论1.1 研究背景加入世界贸易组织后,中国面临激烈的竞争。这竞争将是一场科技实力,管理水平和人才素质的较量,风险和机遇共存。在这一前提下,电子产品的研发日新月异,不仅是在通信技术方面数字化取代模拟信号,就连我们的日常生活也被数字化所取缔,数字让人们的生活

    9、发生了翻天覆地的变化,数字给人们带了了意想不到的方便,总之,人们已经进入了数字化时代,数字渗透了生活的方方面面。我们每天都在和数字打交道,比如我所设计的数字时钟,时钟被广泛应用于个人家庭,车站,码头,办公室等公共场所,成为人们日常生活的必需品。由于计算机的迅速普及,基本C+的数字时钟有更高的精度,准确度,而且更加便于设置时间,时钟的数字化给人们的生产生活带了极大的方便,在功能方面也进行了大大的扩展,比如现在的自动报警,按时自动打铃,时间程序自动控制,定时广播,自动启闭路灯,定时开关烘箱,甚至各种定时电器的自动启用等等。所有的这些都是基于钟表数字化,所以,研究基于C+的数字时钟及其应用,有着非常

    10、现实的意义。1.2 研究目的软件产业是本世纪最具广阔前景的新兴产业之一。作为一种“无污染,微能耗,高就业”的产业,软件产业不但能大幅度提高国家整体经济运行效率,而且自身也能形成庞大规模,拉升国民经济指数。随着信息技术的发展,软件产业将会成为衡量一个国家综合国力的标志之一。因此,发展和扶持软件产业,是一个国家提高国家竞争力的重要途径,也是参与全球化竞争所必须占领的战略制重点。当前,随着全球化范式的转变,世界软件产业保持高速增长的同时,面临网络化.全球化.服务化.开放化的转型。这给世界各国的软件产业带来了机遇的同时也带来了更严峻的挑战。1.3 研究内容本文将设计一个基于C+的数字时钟,采用MFC的

    11、框架,将时钟,分钟,秒钟等清晰的显示出来。利用Vusual C+ 6.0开发坏境进行编译,调试等实现时钟的准确计时,该时钟有记录当前时间,整点报时,以及随时进行调整时间或者设置闹钟等功能。1.4 本文的结构 结构如图所示:第二章 开发环境及相关技术的介绍2.1 开发工具(1)Microsoft windows 2000 Peofessional(2)Microsoft Visual C+ 6.0(3)Microsoft Developer Network for Visual Studio.NET 2003 (4) Visual Asssist X 10.1.1301.02.2 软件环境2.2

    12、.1 Visual C+ 6.0VC6.0是微软推出的一款可视化编程工具,适用面非常广泛。VC6.0包含了一个文本编辑器,资源编辑器,工程编译工具,一个增量连接器,源代码浏览器,集成调试工具以及一套联机文档。使用VC6.0,可以完成创建 调试及修改应用程序等的各种操作。VC6.0采用标准的多窗口windows用户界面,并增加了一些新特性,使得开发环境更易于使用,用户很容易学会它的使用方法。由于VC6.0是一个可视化的开发工具,可视化技术是当前发展迅速并引人注目的技术之一,他的特点是把原来抽象的数字、表格、功能逻辑等用直观的图形、图像的形式表现出来。可视化编程是它的重要应用之一,所谓可视化编程是

    13、指在软件开发过程中,用直观的具有一定含义的图标按钮、图形化的对象取代原来手工的抽象的编辑、运行、浏览操作,软件开发过程表现为鼠标点击按钮盒拖放图形化的对象以及指定对象的属性、行为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率。Visual C+给应用程序的开发人员提供了丰富的功能,Visual C+通过MFC库提供了一个完整的应用程序的骨架,开发人员可以忽略应用程序的入口点和结束地点,并且可以忽略消息在应用程序的流动顺序,通过MFC的支持Visual C+也提供了Document-View的应用程序的结构,开发人员可以将数据保存在Document类的对象上,而在屏幕的显示的数据由

    14、View类的对象来负责。通过MFC的支持Visual C+也实现了面向对象领域的RTTI(RunTime Type Information)、Dynamic Creation(动态创建)、(Persistence)永久保存机制,同时也实现了Windows下的Message Mapping(消息映射)和Command Routing(命令传递),通过MFC的Cdatabase和Crecordset类Visual C+可以实现数据库的应用,由于MFC涉及到应用程序开发的各个领域,故Visual C+成为倍受欢迎的开发工具。2.2.2 MFC和C+Visual C+所提供的MFC(Microsoft

    15、 Foundation Classes),实际上是微软提供的用于在C+环境下编写应用程序的一个框架和引擎,VC+是开发人员使用的专业C+ SDK,专业软件开发平台,MFC是微软为VC+专配的。它是WinAPI与C+的结合,API,即微软提供的WinOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方的编程语言来进行对Win OS下应用程序的开发,使这些被开发出来的应用程序能在Win OS下运行,比如VB,VC+,Java编程语言函数本质上全部源于API,所以MFC是微软对API函数的专用C+封装。从C到C+,在原有基础上扩充了6种特征

    16、:虚函数、函数名和运算符重载、引用机制、常量、用户对自由存储的控制、改进了的类型检查、注释表示的多样化。1990年5月Borland推出Borland C+,1992年Microsoft推出Microsoft C+,同时,DEC,IBM也推出了自己的C+。直到1998年7月10日终于通过了编后为ISO/IEC 14882的C+程序设计语言正式标准,改ISO标准同时也是ANSI的正式标准。2.2.3 开发平台Windows系统Microsoft Windows,是微软公司制作和研发的一套桌面操作系统,它问世于1985年,起初仅仅是MS-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易

    17、用,也慢慢的成为家家户户人们最喜爱的操作系统。Windows采用了图形化模式GUI,比起以前的DOS需要键入指令使用的方式更为人性化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的Windows1.0到大家熟悉的Windows95、Windows98、Windows2000、Windows XP、Windows Vista、Windows7等服务器企业操作系统,不断持续更新,微软一直在尽力与Windows操作系统的开发与完善。本次数字时钟的操作是基于Win32平台,它是一个32位的操作系统。2.2.4 win32核心编程机制W

    18、indows是一个多进程的图形窗口操作系统,Windows应用程序与DOS应用程序有很大的区别。DOS应用程序采用顺序执行过程,而Windows是一个基于事件的消息(message)驱动系统。消息驱动是Windows应用程序的核心,消息不仅可由Windows发出,它也可由应用程序本身或其他程序产生。所有的外部响应(如改变窗口大小或移动、单机鼠标等),该动作就会触发一个相应的“事件”而被Windows先拦截,转换成消息后再发送到指定应用程序的消息队列。从而使程序可以处理该事件。处理完后等待下一个事件的发生。2.2.5 面向对象软件开发过程及思想面向对象方法是一种把面向对象的理念应用于软件开发过程

    19、中,指导开发活动的系统方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有着直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。面向对象方法的具体实施步骤如下:第一, 面向对象分析:从问题的陈述入手,分析和构造所关心的显示世界问题域的模型,并用相应的符合系统表示。模型必须是简洁、明确地抽象目标系统必须做的事,而不是如何做。具体包括: a. 确定问题域,包括定义论域,选择论域,

    20、根据需要细化和增加论域 b 区分类和对象 c 定义属性 d 定义服务第二, 面向对象设计:面向对象的设计与传统的以功能分解为主的设计有所不同。 a.应用面向对象分析,对用其他方法得到的系统分析的结果进行改进和完善; b.设计交互过程和用户接口; c.设计任务管理 d.设计全局资源,确定边界条件,确定任务或子系统的软、硬件分配;第三, 面向对象实现:使用面向对象语言实现面向对象的设计相对比较容易。传统的面向功能的方法学中,强调的是确定和分解系统功能,这种做法虽然是目标的最直接的实现方式,但是由于功能是软件系统中最不稳定、最容易变化的方面,因而使系统难以维护和扩展。面向对象设计首先强调来自域的对象

    21、,然后围绕对象设置属性和操作。用面向对象设计,其结构源于客观世界稳定的对象结构。因而与传统相比,提高了软件的生产率,可靠性,易维护性。2.2.6 算法的设计 为了得到迅速、准确的时间,在时钟的设计中有多处加入了算法;在时钟界面的绘画函数中,通过准确计算表盘相邻的数字之间的角度,确定表盘上面的数字,从 0,450;225,390;390,225;450,0;390,-225;225,-390;0,-450;-225,-390;-390,-225;-450,0;-390,225;-225,390;即1到12数字之间的角度,通过确定他们的角度画出的表盘界面清晰、准确、直观。同时,在设计数字时钟时,对

    22、时间的计算坐标也运用了算法,通过将角度转化成弧2*3.1415926/360=0.0174533即double nRadians=(double)nDegrees*0.0174533;通过POINT pt2算式来计算坐标,如想获取此刻的坐标算式为:pt0.x=(int)(nLength*sin(nRadians); pt0.y=(int)(nLength*cos(nRadians);如想获取下一秒位置的坐标,因为每秒跳过1/5.所以其坐标为:pt1.x=-pt0.x/5; pt1.y=-pt0.y/5;算法在这次设计中最重要的是计算秒钟和分钟每秒走过的距离,这是本次设计的关键,只有准确的计算出

    23、他们走过的距离才能准确的得到当前时间,一分钟时针走的弧度是0.5度,经过一分钟分针走的是6度,经过1秒钟秒针也走的弧度是6度,故可以算出他们各自走的距离。第三章 数字时钟的功能和流程分析 3.1 时钟的功能模块分析 通过了解其他的数字时钟,总结出基于VC+设计下的数字时钟能实现一些具体的功能,如下所示:(1) 基本功能-实现数字时钟的表盘,时钟,分钟以及秒针的显示。(2) 计时功能-显示当前的时间,并且秒针每秒跳动一次,分针每分钟跳动一次,时钟每小时跳动一次(3) 报时功能-时钟在整点的时候具有报时的功能3.2 时钟的流程分析第四章 数字时钟的具体实现4.1 时钟的总体设计本时钟设计界面简洁明

    24、了,没有太多花哨的东西。编译程序后桌面将出现一个圆盘的时钟,时钟的背面是黑色调,从时钟盘里面能清晰看到时针,分针,秒针的变动,通过修改程序的设置,可以修改时钟的背景颜色;通过对时间程序的设置可以进行自由设置时间,如闹铃的设置;还可以进行时间的调试等。但由于时间的仓促,时钟还有很多功能未能很好的实现,最后,通过轻轻点击鼠标退出时钟计时的界面。4.2 时钟的具体实现4.2.1 获取系统时间 为了让程序运行成功后能准确的显示当前系统时间,我们首先对定时器进行了设置;通过设置一个系统时间变量SYSTEMTIME,并将现在的系统时间的值赋给time变量从而让时钟准备显示当前时间;在设置时间时,时钟的进制

    25、转换为12进制,而分钟和秒钟的直接赋值。 程序实现: case WM_CREATE: /设置定时器,每秒跳一下 :SetTimer(hwnd,IDT_TIMER,1000,NULL); SYSTEMTIME time;GetLocalTime(&time); s_nPreHour=time.wHour%12; s_nPreMinute=time.wMinute; s_nPreSecond=time.wSecond; return 0; 4.2.2 根据时间绘制时钟 在时钟的表盘绘制时,我们首先通过设置坐标系,定义了三个变量hdc,s_cxClient,s_cyClient;然后进通过调用Dra

    26、w函数行时钟的外观绘制,最后对时针,分针,秒针的绘制时, 通过计算我们知道:经过1个小时时针走了30度,经过1分钟分针走了6度同时经过1秒钟秒针也是走了6度,根据他们在一定时间内所走的角度进行绘制并对他们的颜色进行有区别的设置。 /创建绘图DC hdc=:BeginPaint(hwnd,&ps); /设置坐标系x,y的范围 SetIsotropic(hdc,s_cxClient,s_cyClient); /绘制时钟界面 DrawClockFace(hdc); /绘制时分秒的初始位置 / 经过1个小时时针走30度(360/12),经过1分钟时针走0.5度(30/60) DrawHand(hdc,

    27、200,6,s_nPreHour*30+s_nPreMinute/2,RGB(0,255,128); / 经过1分钟分针走6度(360/60) DrawHand(hdc,400,4,s_nPreMinute*6,RGB(250,0,0); / 经过1秒钟秒针走6度(360/60) DrawHand(hdc,400,1,s_nPreSecond*6,RGB(0,0,255);/ :SetTextColor(hdc,RGB(255,255,255);GetClientRect(hwnd,&rt);/ SetIsotropic(hdc,rt.right-rt.left,rt.bottom-rt.to

    28、p);/ DrawClockFace(hdc); :EndPaint(hwnd,& return 0;4.2.3 每过一秒更新时钟界面 程序的实现: /定时器的处理,每过一秒钟就要重新绘制一下时钟的移动 case WM_TIMER: /绘图DC HDC hdc; hdc=:GetDC(hwnd); /取得系统时间 /格式化时间字符串 wsprintf(t,%d:%2d:%2d,time.wHour,time.wMinute,time.wSecond); /设置时间字符串的背景 :SetBkColor(hdc,RGB(0,0,255); /设置字体颜色 /绘制电子时钟字符串的位置 RECT rect=0;rect); /屏幕的最中间TextOut(hdc,rect.right/2,rect.bottom/2,t,strlen(t); /检验窗口是否是最小化方式,如果最小化,直接结束程序 if(:IsIconic(hwnd) /如果不是最小化,设置应用实例窗口的模式、像素、建立自定义坐标系等 /根据取得的屏幕坐标来创建坐标系 SetIsotropic(hdc,s_cxClient,s_cyClient); / Set(hdc,s_cxClient,s_cyClient); /颜色初始化


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开