C语言课程设计——图形时钟

上传人:cl****1 文档编号:567921406 上传时间:2024-07-22 格式:PDF 页数:9 大小:420.58KB
返回 下载 相关 举报
C语言课程设计——图形时钟_第1页
第1页 / 共9页
C语言课程设计——图形时钟_第2页
第2页 / 共9页
C语言课程设计——图形时钟_第3页
第3页 / 共9页
C语言课程设计——图形时钟_第4页
第4页 / 共9页
C语言课程设计——图形时钟_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C语言课程设计——图形时钟》由会员分享,可在线阅读,更多相关《C语言课程设计——图形时钟(9页珍藏版)》请在金锄头文库上搜索。

1、.C C 语言程序设计课程设计语言程序设计课程设计实验报告实验报告题目:图形时钟图形时钟班级:电气工程与其自动化电气工程与其自动化 14011401学号:指导教师:2015 .1 . 81 / 9.目目录录1.系统功能要求P32.程序结构画流程图P3-43.概要设计P44.试验结果P65.体会P66.参考文献P67.附录:源程序P7-82 / 9.1.1.系统功能要求系统功能要求在屏幕上显示一个图形时钟用程序绘制一个与时钟样式相似即可,时间与系统时间一致,且要随着时间的走动准确的走动。2.2.程序设计程序设计3 / 9.3.3.概要设计概要设计1voidinit()/*划时钟边框函数*/ in

2、ti,l,x1,x2,y1,y2;circle(320,240,200);/*以320,240为圆心,200 为半径画圆*/ circle(320,240,199);/*以320,240为圆心,199 为半径画圆*/ circle(320,240,201);/*以320,240为圆心,201 为半径画圆*/ circle(320,240,1,);/*以320,240为圆心,1 为半径画圆*/ circle(320,240,2,)/*以320,240为圆心,2 为半径画圆*/ circle(320,2403,);/*以320,240为圆心,3 为半径画圆*/for(i=0;i60;i+)/*划钟

3、点上的短线*/ if(i%5=0)l=15;else l=5; x1=200*sin(i*6*pi/180)+320/*画线函数*/ y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+320; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2);2voidDrawHand函数/*画指针*/ voidDrawHand(intx,inty,floatth,intl,intcolor) intx1,y1;4 / 9. x1=x+l*sin(th); y1=y-l*cos(th); setcol

4、or(color);line(x,y,x1,y1); x:直线起点的横坐标 y:直线起点的纵坐标x1:直线终点的横坐标y1:直线终点的纵坐标3voidmain()函数Part:intgdriver=DETECT,gmode; structtimecurtime;.类型和最高分辨率 floatth_hour,th_min,th_sec; initgraph(&gdriver,&gmode,);Graphdriver- 配 适 器graphmode-显 示 模式Part: setbkcolor(0);.背风光Part: while(!kbhit() Init().函数1setwritemode(1

5、);gettime(&curtime);.得到当前系统时间 gotoxy(35,20);.定位输出位置Part :if(float)curtime.ti_hour=12). 上 午 的 时 间 处理printf(AM); if(float)curtime.ti_hour10)printf(0);.十点之前在小时数前加零 printf(%.0f:,(float)curtime.ti_hour);.输出小时 else.下午的时间处理printf(PM); if(float)curtime.ti_hour-1210)printf(0);.如果时间减去 12 小时小于 10 printf(%.0f:,

6、(float)curtime.ti_hour-12);.输出小时 Part:if(float)curtime.ti_min10)printf(0);.相当于小时的计算方法printf(%.0f:,(float)curtime.ti_min);.输 出 分 钟 同part if(float)curtime.ti_sec10)printf(0);printf(%.0f,(float)curtime.ti_sec);Part:以下三行计算表针转动角度,以竖直向上为起点,顺时针为正5 / 9.- - -2/60=0.1047197551-*2/12=0.5235987755)Part:画指针 Draw

7、Hand(x0,y0,th_hour,70,2);.画时针 DrawHand(x0,y0,th_min,110,3);.画秒针Part:settextstyle(2,0,3);.设置字体 2:文字的字体;0:文字的方向;3:文字的大小outtextxy(300,80,12); outtextxy(460,220,3); outtextxy(315,370,6); outtextxy(160,220,9);Part:sleep(1);秒后刷新cleardevice();幕 closegraph()式4.4.试验结果试验结果.延时一.去除图形屏.关闭图形系统,退出图形方6 / 9.5.5.体会体会

8、刚开场做时根本上什么都不懂, 参考了很多资料,到网上查,差不多能写出根本程序,虽然很多是借鉴别人的, 不过能写成这样,我心里还是挺快乐的。 程序设计主要靠理解与运用,有些没有学过的知识不一定要懂得彻底, 只要会运用就行。尤其是设计显示上、下午的数字时间和让时针正常运转而不是从3 不动,然后直接跳到 4 上,我下了很大功夫,找了好多资料,最终一知半解,好在成功运行了。缺乏之处也很多,程序思路不太清晰可能有些混乱。有很多程序设计使用并不熟练,甚至有些方法掌握不了, 更容易忘记。算法结构了解并不深入, 独立自主的想法占据总体达不到要求。 需要加强练习和对知识的理解与掌握。 通过这次设计, 让我学习程

9、序的热情大涨,相信以后会做的更好!6.6.参考文献参考文献1 谭浩强.C 语言程序设计第四版.清华大学,20102 丽娟,马淑萍.C 语言程序设计第二版.中国铁道,20093 丽娟,奋.C 语言程序设计实验教程第二版.中国铁道,20094 基温.C语言程序设计案例教程.清华大学,20055 网络,百度知道,贴吧等,20147.7.附录:源程序附录:源程序7 / 9.#include#include#include#define PI 3.1415926#define x0 320#define y0 240void init() int i,l,x1,x2,y1,y2; circle(320,

10、240,200); circle(320,240,201); circle(320,240,199); circle(320,240,1); circle(320,240,2); circle(320,240,3); for(i=0;i60;i+) if(i%5=0)l=15; elsel=5; x1=200*sin(i*6*PI/180)+320; y1=200*cos(i*6*PI/180)+240; x2=(200-l)*sin(i*6*PI/180)+320; y2=(200-l)*cos(i*6*PI/180)+240; line(x1,y1,x2,y2); void DrawHan

11、d(int x,int y,float th,int l,int color) int xp,yp; xp=x+l*sin(th); yp=y-l*cos(th); setcolor(color); line(x,y,xp,yp);void main() int gdriver=DETECT,gmode; struct time curtime; float th_hour,th_min,th_sec; initgraph(&gdriver,&gmode,); setbkcolor(0); while(! kbhit()8 / 9. init(); setwritemode(1); getti

12、me(&curtime); gotoxy(35,20); if(float)curtime.ti_hour=12) printf(AM ); if(float)curtime.ti_hour10) printf(0); printf(%.0f:,(float)curtime.ti_hour); else printf(PM ); if(float)curtime.ti_hour-1210) printf(0); printf(%.0f:,(float)curtime.ti_hour-12); if(float)curtime.ti_min10) printf(0); printf(%.0f:,

13、(float)curtime.ti_min); if(float)curtime.ti_sec10) printf(0); printf(%.0f,(float)curtime.ti_sec); DrawHand(x0,y0,th_hour,70,2); DrawHand(x0,y0,th_min,110,3); DrawHand(x0,y0,th_sec,140,12); setcolor(13); settextstyle(2,0,12); outtextxy(300,80,12); outtextxy(460,220,3); outtextxy(315,370,6); outtextxy(160,220,9); sleep(1); cleardevice(); closegraph();9 / 9

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号