C语言图形时钟程设计实验报告..docVIP

  • 26
  • 0
  • 约9.69千字
  • 约 12页
  • 2016-10-06 发布于广东
  • 举报
C语言图形时钟程设计实验报告.

目录 1.系统功能要求。 2. 数据结构设计及说明。 3.程序结构(画流程图)。 4.各模块的功能。 5.试验结果(包括输入数据和输出结果)。 6.体会。 7.参考文献。 8.附录:程序清单及源程序。 系统功能要求: 在屏幕上显示一个图形时钟(用程序绘制一个与时钟样式相似即可),时间与系统时间一致,且要随着时间的走动准确的走动。 数据结构设计及说明 (1) 图形时钟要用TC来编译,学C语言时主要用VC,用TC对我有一定的挑战性,不熟悉编译,对图形函数也没有太多接触,做这个有一定难度。 (2) 先画出时钟基本组成,(时针分针秒针,中心点,表盘及其分隔点)。 (3) 时钟表设计思想: 第一步,确定秒钟的走时。将圆等分成60份每过一秒,秒钟要转1/60个圆,亦即一等份。 第二步,确定分钟的走时。将圆等分成60份每过一分,分钟要转1/60个圆,亦即一等份。 分钟自己走的再加秒钟的,才是分钟此时的位置。 第三步,确定时钟的走时。将圆等分成12等分。每过一时,时钟走一等份。和分钟一样, 得加上分钟,秒钟的走时,才是此刻时钟的位置。 (4)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; 程序结构(画流程图) 总流程图: 指针转动流程图: 各模块的功能 试验结果(包括输入数据和输出结果) 体会: 刚开始做时基本上什么都不懂,用TC做,我更不会。不过参考了很多资料,到网上查,泡了几天图书馆,差不多能写出基本程序,虽然很多是借鉴别人的,不过能写成这样,我心里还是挺高兴的。 有了一点成功我就很兴奋,这是动力。程序很奇特,很多问题都可以用程序编写,看到那些大型程序我就感觉我也能写出这样的程序。 程序设计主要靠理解与运用,有些没有学过的知识不一定要懂得彻底,只要会运用就行。 不足之处也很多,程序思路不太清晰可能有些混乱。有很多程序设计使用并不熟练,甚至有些方法掌握不了,更容易忘记。算法结构了解并不深入,独立自主的想法占据总体达不到要求。需要加强练习和对知识的理解与掌握。 参考文献: 《C程序设计思想与方法》 《C语言完全手册》 《C语言课程设计指导》 《百度知道 图形时针》 附录:程序清单及源程序 (使用TC) # include graphics.h # include math.h # include dos.h # define pi 3.1415926 void 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);/*以(300,240)为圆心,200为半径画圆*/ circle(300,240,5);/*以(300,240)为圆心,5为半径画圆*/ for(i=0;i60;i++) /*划钟点上的短线*/ { if(i%5==0) l=15; else l=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 gdriver, gmode; unsigned char h, m, s; struct time t[1]; gdriver = DETECT; initgraph(gdriver, gmode, )

文档评论(0)

1亿VIP精品文档

相关文档