- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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, ); /*初始化*/ for(i=0;i=6;i++) { outtextxy(300,80,12) ;
文档评论(0)