




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言图形时钟课程设计实验报告C语言图形时钟课程设计实验报告. 目录 系统功能要求。数据结构设计及说明。程序结构(画流程图) 。各模块的功能。试验结果(包括输入数据和输出结果)体会。参考文献。附录:程序清单及源程序系统功能要求 :系统功能要求 :- PAGE # -系统功能要求 :系统功能要求 :- PAGE # -在屏幕上显示一个图形时钟 (用程序绘制一个与时钟样 式相似即可),时间与系统时间一致,且要随着时间的走动 准确的走动。数据结构设计及说明(1)图形时钟要用TC来编译,学C语言时主要用VC,用TC对我有一定的挑战性,不熟悉编译,对 图形函数也没有太多接触,做这个有一定难度。先画出时钟
2、基本组成, (时针分针秒针,中心点,表盘及其分隔点) 。时钟表设计思想:第一步, 确定秒钟的走时。将圆等分成 60 份每过一 秒,秒钟要转 1/60 个圆,亦即一等份。第二步, 确定分钟的走时。将圆等分成 60 份每过一 分,分钟要转 1/60 个圆,亦即一等份。分钟自己走的再加秒钟的,才是分钟此时 的位置。第三步, 确定时钟的走时。将圆等分成 12 等分。每 过一时,时钟走一等份。和分钟一样, 得加上分钟,秒钟的走时,才是此刻时钟 的位置。- PAGE # - PAGE # -时钟走动与系统时间联系:每过一秒画出秒针,并除去前一秒的秒针,分针秒针同样可用。画线函数与时间联系使用变量。(5)
3、设置横纵坐标x=a*cos(b*c*pi/180-pi/2)+300; y=a*sin(b*c*pi/180-pi/2)+240;设置表针的动态坐标点x1=200*sin(i*6*pi/180)+300;y1=200*cos(i*6*pi/180)+240;x2=(200-l)*sin(i*6*pi/180)+300;y2=(200-l)*cos(i*6*pi/180)+240;- PAGE # - PAGE # -程序结构(画流程图)总流程图:- PAGE # -各模块的功能各模块的功能- PAGE # -Void draw(i nt a, int b, int C)功能二?确定横纵坐标,确
4、定针分针秒针函数void in it()功能戈U时钟边框函数和画钟点上的短线IAmain ()功能F-b.主函数f 图形初始化1时钟添加12点、3点、6 点、9点获取系统时间,画时针分 针秒针, 将系统时间与时钟联系试验结果(包括输入数据和输出结果)体会:刚开始做时基本上什么都不懂,用 TC做,我更不 会。不过参考了很多资料,到网上查,泡了几天图书馆, 差不多能写出基本程序,虽然很多是借鉴别人的,不过 能写成这样,我心里还是挺高兴的。有了一点成功我就很兴奋,这是动力。程序很奇特, 很多问题都可以用程序编写, 看到那些大型程序我就感 觉我也能写出这样的程序。程序设计主要靠理解与运用,有些没有学过
5、的知识 不一定要懂得彻底,只要会运用就行。不足之处也很多,程序思路不太清晰可能有些混 乱。有很多程序设计使用并不熟练,甚至有些方法掌握 不了,更容易忘记。算法结构了解并不深入, 独立自主 的想法占据总体达不到要求。需要加强练_和对知识的 理解与掌握。参考文献:参考文献:- PAGE # -参考文献:参考文献:- PAGE # -C程序设计思想与方法 C 语言完全手册C语言课程设计指导百度知道 图形时针附录:程序清单及源程序 (使用 TC)# include graphics.h# include math.h # include dos.h # define pi 3.1415926 void
6、 draw(int a, int b, int c) float x, y;x=a*cos(b*c*pi/180-pi/2)+300; /*确定横坐标 */y=a*sin(b*c*pi/180-pi/2)+240; /*确定纵坐标 */line(300, 240, x, y);/*绘制时针或分针或秒针 */void init() /* 划时钟边框函数 */ int i,l,x1,x2,y1,y2; circle(300,240,200);/* 为半径画圆 */circle(300,240,5);/* 径画圆 */for(i=0;i60;i+) /*以( 300, 240)为圆心, 200 以(
7、int i,l,x1,x2,y1,y2; circle(300,240,200);/* 为半径画圆 */circle(300,240,5);/* 径画圆 */for(i=0;i60;i+) /*if(i%5=0)l=15;- PAGE # - PAGE # -elsel=5;x1=200*sin(i*6*pi/180)+300; /* y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+300; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2);main()int x, y,i;int
8、gdriver, gmode;unsigned char h, m, s;struct time t1;gdriver = DETECT;initgraph(gdriver, gmode, ); /* for(i=0;i=6;i+)画线函数 */初始化 */outtextxy(300,80,12) ;outtextxy(300,390,6);outtextxy(140,230,9);outtextxy(460,230,3);init(); /*setwritemode(1);/* 作*/gettime(t); /*h = t0.ti_hour; m = t0.ti_min;s = t0.ti_
9、sec;setcolor(7);调用 init ()函数 */ 将当前线与原有的线进行异或操将计算机时间写入结构体 t 中 */*h赋初值当前时数 */*m赋初值当前分数 */*s赋初值当前秒数 */画时针画时针 */画分针 */画秒针 */清除前面画的秒针 */画秒针 */清除前面画的分针 */ 画分针 */清除前面画的时针 */画时针 */draw(150, h, 30); /* setcolor(14);draw(170, m, 6); /* setcolor(4);draw(190, s, 6); /* while (!kbhit()while (t0.ti_sec = s) gettime(t);setcolor(4);draw(190, s, 6); /*s = t0.ti_sec; draw(190, s, 6); /* if (t0.ti_min != m) setcolor(14);draw(170,m, 6); /*m = t0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动办公设备贷款协议
- 《网络广告互动性研究》课件
- 双语列车长车票的发售规定课件
- 双语列车长火灾爆炸事故的应急处理课件
- 中医与传统文化课件
- 家居设计合同范本
- 版个人房产转让合同样本
- 四位创始股东合作合同书
- 【课件】电荷+课件+-高二上学期物理人教版(2019)必修第三册+
- 景德镇艺术职业大学《中医养生与康复学》2023-2024学年第二学期期末试卷
- 山东省高中名校2025届高三4月校际联合检测大联考生物试题及答案
- 2025年武汉数学四调试题及答案
- 职业病防护设施与个体防护用品的使用和维护
- 绿化养护服务投标方案(技术标)
- 中国纺织文化智慧树知到期末考试答案2024年
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 实际控制人股东会决议
- 老视的机制及治疗的研究进展
- VDA6.3的P2-7条款
- 工程联系单表格(模板)
- 混凝土搅拌机设计论文
评论
0/150
提交评论