全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计课程设计总结报告设计题目:模拟时钟转动姓名:张冰冰学号:052411158同组人员:鲁洪景,李彦龙,蒋璐聪,李贞贞指导教师:杨斌、冯巧娟、张向娟2012年6月21日一设计题目:“设计一个模拟时钟转动的程序”二设计时间及地点2.1时间:第18周第19周2.2地点:公共计算机实践教学中心、本班教室三题目内容及要求3.1内容模拟时钟转动3.2要求1)正确模拟机械时钟指针转动2)程序时间与电脑时间同步显示3)设计美观,大方四设计部分(涵盖思想、解决问题的方法,组内学生应各不相同)4.1设计环境要求在VC+上进行设计,但是由于VC自身的原因,要做到画图必须要用到绘图类库MFC,但是由于我们学时的缘故,不能够学习,再者,我们了解到在TC中存在图形库。于是,我们想办法在网上下载了一个名为easyX的软件,在VC中导入了该图形库。4.2总体设计该简易时钟显示程序的具体描述如下:该设计通过在VC+上调用出绘图函数,绘出模拟时钟的表盘和表针。并且,要绘制的表针正常运转。让设计的模拟时钟与电脑上的时间一样。4.3涵盖思想指针式的时钟表盘为椭圆形或圆形,圆周上有分布均匀的12个刻度,刻度要求显示清楚,钟面上有长度不相同的指针,即时针、分针、秒针,指针的运动要求具有规律性,且为顺时针。数字钟显示时间的格式是年月日时分秒,小时为24进制,分钟和秒是60进制,即时针每小时跳动一次,分针每分钟跳动一次,秒针每秒跳动一次。指针式的时钟和数字式的时钟显示的时间同步,且两个时钟所显示的时间与计算机的系统时间一致。4.4解决问题的方法先设计简易时钟的源代码,分别对时钟的圆形模块,指针模块,功能模块进行程序设计,后用VC+软件进行编程调试,进行纠错编译,直到没有错误,且能正常运行,最后能出现与电脑时间同步运行的简易时钟。4.5模块设计1)画圆模块setcolor(YELLOW);/绘制一个简单的表盘circle(320,240,2);/circle(320,240,60);circle(320,240,160);2)画时针刻线模块setcolor(BLUE);line(320+x_hour,240-y_hour,320-x_hour/7,240+y_hour/7);/画时针setlinestyle(PS_SOLID,NULL,6);setcolor(RED);line(320+x_min,240-y_min,320-x_min/5,240+y_min/5);/画分针setlinestyle(PS_SOLID,NULL,2);setcolor(GREEN);line(320+x_sec,240-y_sec,320-x_sec/3,240+y_sec/3);/画秒针3)运行功能模块SYSTEMTIMEti;/定义变量保存当前时间while(!kbhit()/按任意键退出钟表程序GetLocalTime(/获取当前时间DrawHand(ti.wHour,ti.wMinute,ti.wSecond);/画表针Sleep(1000);/延时1秒DrawHand(ti.wHour,ti.wMinute,ti.wSecond);/擦表针(擦表针和画表针的过程是一样的)closegraph();/关闭绘图窗口return;五运行测试及程序源代码/CClock.cpp:Definestheentrypointfortheconsoleapplication.#include#include#include#definePI3.1415926536voidDrawHand(inthour,intminute,intsecond)doublea_hour,a_min,a_sec;/时、分、秒针的弧度值intx_hour,y_hour,x_min,y_min,x_sec,y_sec;/时、分、秒针的末端位置/计算时、分、秒针的弧度值a_sec=second*2*PI/60;a_min=minute*2*PI/60+a_sec/60;a_hour=hour*2*PI/12+a_min/12;/计算时、分、秒针的末端位置x_sec=int(120*sin(a_sec);y_sec=int(120*cos(a_sec);x_min=int(100*sin(a_min);y_min=int(100*cos(a_min);x_hour=int(70*sin(a_hour);y_hour=int(70*cos(a_hour);setlinestyle(PS_SOLID,1,10);setcolor(YELLOW);line(320+x_hour,240-y_hour,320-x_hour/7,240+y_hour/7);/画时针setlinestyle(PS_SOLID,NULL,6);setcolor(RED);line(320+x_min,240-y_min,320-x_min/5,240+y_min/5);/画分针setlinestyle(PS_SOLID,NULL,2);setcolor(BLUE);line(320+x_sec,240-y_sec,320-x_sec/3,240+y_sec/3);/画秒针voidDrawDial()setcolor(YELLOW);/分钟刻度的颜色/绘制一个简单的表盘circle(320,240,2);/circle(320,240,60);circle(320,240,160);outtextxy(480,420,课程设计张冰冰);outtextxy(290,350,TISSOT);outtextxy(540,450,2012.06.21);/绘制刻度intx,y;for(inti=0;i60;i+)x=320+int(145*sin(PI*2*i/60);y=240+int(145*cos(PI*2*i/60);if(i%15=0)/rectangle(x-5,y-5,x+5,y+5);setfillstyle(WHITE);bar(x-5,y-5,x+5,y+5);elseif(i%5=0)circle(x,y,3);elseputpixel(x,y,WHITE);voidmain()initgraph(640,480);/初始化640x480的绘图窗口setbkcolor(BLACK);/添加设置背景色cleardevice();/清屏DrawDial();/绘制表盘setwritemode(R2_XORPEN);/设置XOR绘图模式/绘制表针SYSTEMTIMEti;/定义变量保存当前时间while(!kbhit()/按任意键退出钟表程序GetLocalTime(/获取当前时间DrawHand(ti.wHour,ti.wMinute,ti.wSecond);/画表针Sleep(1000);/延时1秒DrawHand(ti.wHour,ti.wMinute,ti.wSecond);/擦表针(擦表针和画表针的过程是一样的)closegraph();/关闭绘图窗口return;6心得体会在这次课程设计中,通过对模拟时钟这个课题的设计,我对VC+程序有了很大的认
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖州辅警协警招聘考试真题含答案详解(夺分金卷)
- 2025年鄂尔多斯辅警协警招聘考试备考题库及答案详解(有一套)
- 2025年莆田辅警协警招聘考试真题含答案详解(模拟题)
- 2025年莆田辅警协警招聘考试备考题库含答案详解(综合题)
- 2025年镇江辅警协警招聘考试备考题库带答案详解
- 2025年黄南州辅警招聘考试真题及答案详解(易错题)
- 2025年鸡西辅警招聘考试真题完整答案详解
- 2025年玉林辅警协警招聘考试备考题库含答案详解(考试直接用)
- 2025年苏州辅警招聘考试真题及答案详解(各地真题)
- 2025年许昌辅警招聘考试真题附答案详解(模拟题)
- 《生活中的东、南、西、北》课件
- 二方连续图案课件
- 2025-2026学年第一学期九年级道德与法治备考指导
- 2025安徽淮南交通控股(集团)有限公司二级公司外包服务人员招聘16人笔试考试参考试题及答案解析
- 药品相关法律法规培训
- 专题03 立方根重难点题型专训(3个知识点+8大题型+3大拓展训练+自我检测)(解析版)
- DB44∕T 2544-2024 黑木相思栽培技术规程
- 乙肝职业暴露处理流程
- 大唐电力锦州市2025秋招面试专业追问及参考自动化与测控岗位
- 学校教师意识形态培训
- bz-高标准农田建设项目勘察设计技术投标方案210
评论
0/150
提交评论