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

目录1.系统功能要求。2. 数据结构设计及说明。3.程序结构(画流程图) 。4.各模块的功能。5.试验结果(包括输入数据和输出结果) 。6.体会。7.参考文献。8.附录:程序清单及源程序。 系统功能要求:在屏幕上显示一个图形时钟(用程序绘制一个与时钟样式相似即可) ,时间与系统时间一致,且要随着时间的走动准确的走动。 数据结构设计及说明(1) 图形时钟要用 TC来编译,学 C语言时主要用VC,用 TC对我有一定的挑战性,不熟悉编译,对图形函数也没有太多接触,做这个有一定难度。(2) 先画出时钟基本组成, (时针分针秒针,中心点,表盘及其分隔点) 。(3) 时钟表设计思想:第一步,确定秒钟的走时。将圆等分成 60份每过一秒,秒钟要转 1/60个圆,亦即一等份。第二步,确定分钟的走时。将圆等分成 60份每过一分,分钟要转 1/60个圆,亦即一等份。- 1 -分钟自己走的再加秒钟的,才是分钟此时的位置。第三步,确定时钟的走时。将圆等分成 12等分。每过一时,时钟走一等份。和分钟一样,得加上分钟,秒钟的走时,才是此刻时钟的位置。(4) 时钟走动与系统时间联系:每过一秒画出秒针,并除去前一秒的秒针,分针秒针同样可用。画线函数与时间联系使用变量。(5) 设置横纵坐标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; 程序结构(画流程图)总流程图:- 2 -开始确定横纵坐标写出时钟表盘并将表盘分 60 份的函数图形方式初始化函数使指针转动并除去前一秒的指针画出时针分针秒针获取系统时间并写入结构体 t 中在表盘适当位置插入 12、3、6、9结束指针转动流程图:- 3 -结束开始t[0].ti_sec==sgettime(t);setcolor(4);draw(190,s,6);s=t[0].ti_sec;draw(190, s, 6);t[0].ti_min != m NYsetcolor(14);draw(170, m, 6); m = t[0].ti_min;draw(170, m, 6);t[0].ti_hour != h NYsetcolor(7);draw(150, h, 30); h = t[0].ti_hour;draw(150, h, 30);YN 各模块的功能- 4 -void init()main()划时钟边框函数和画钟点上的短线主函数 图形初始化时钟添加 12 点、3 点、6 点、9 点获取系统时间,画时针分针秒针将系统时间与时钟联系功能功能 试验结果(包括输入数据和输出结果)void draw(int a, int b, int c) 确定横纵坐标,确定针分针秒针函数功能- 5 -12369 体会:刚开始做时基本上什么都不懂,用 TC做,我更不会。不过参考了很多资料,到网上查,泡了几天图书馆,差不多能写出基本程序,虽然很多是借鉴别人的,不过能写成这样,我心里还是挺高兴的。有了一点成功我就很兴奋,这是动力。程序很奇特,很多问题都可以用程序编写,看到那些大型程序我就感觉我也能写出这样的程序。程序设计主要靠理解与运用,有些没有学过的知识不一定要懂得彻底,只要会运用就行。不足之处也很多,程序思路不太清晰可能有些混乱。有很多程序设计使用并不熟练,甚至有些方法掌握不了,更容易忘记。算法结构了解并不深入,独立自主的想法占据总体达不到要求。需要加强练习和对知识的理解与掌握。 参考文献:《C 程序设计思想与方法》《C 语言完全手册》《C 语言课程设计指导》《百度知道 图形时针》- 6 - 附录:程序清单及源程序 (使用 TC)# include # include # include # 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;i<60;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); } } - 7 -main(){int x, y,i;int gdriver, gmode;unsigned char h, m, s;struct time t[1];gdriver = DETECT;initgraph( /*初始化*/for(i=0;i<=6;i++) { outtextxy(300,80,“12“) ; outtextxy(300,390,“6“); outtextxy(140,230,“9“); outtextxy(460,230,“3“); } init(); /*调用 init()函数*/setwritemode(1);/*将当前线与原有的线进行异或操作*/gettime(t); /*将计算机时间写入结构体 t中*/h = t[0].ti_hour; /*h赋初值当前时数*/m = t[0].ti_min; /*m赋初值当前分数*/s = t[0].ti_sec; /*s赋初值当前秒数*/setcolor(7); draw(150, h, 30); /*画时针*/setcolor(14);draw(170, m, 6); /*画分针*/setcolor(4);draw(190, s, 6); /*画秒针*/while (!kbhit()){while (t[0].ti_sec == s)- 8 -gettime(t);setcolor(4);draw(190, s, 6); /*清除前面画的秒针*/s = t[0].ti_sec;draw(190, s, 6);

c语言时钟报告,C语言图形时钟课程设计实验报告相关推荐

  1. 西工大计算机操作系统实验报告,西工大计算机操作系统课程设计实验报告bh05xh5...

    <西工大计算机操作系统课程设计实验报告bh05xh5>由会员分享,可在线阅读,更多相关<西工大计算机操作系统课程设计实验报告bh05xh5(7页珍藏版)>请在人人文库网上搜索. ...

  2. python贪吃蛇的实验报告_贪吃蛇游戏课程设计实验报告

    DOC 可编辑修改 -------- 为你整理各种最新最全办公范文 -------- 双击可以删除 爱心 --- 用心 --- 恒心 贪吃蛇游戏课程设计实验报告 辽 宁 科 技 大 学 课程设计说明书 ...

  3. 趋肤效应实验报告_无线电能传输(课程设计)实验报告

    实验报告 1. 实验原理 与无线通信技术一样摆脱有形介质的束缚, 实现电能的无线传输是人类多年 的一个美好追求.无线电能传输技术( Wireless Power Transfer, WPT )也称之 ...

  4. 夫曼编码译码系统课程设计实验报告(含源代码c++_c语言),哈夫曼编码译码系统课程设计实验报告(含源代码C++_C语言)[1]...

    目 录 摘 要 ---------------------------..------ II Abstract ----------------------------..---... II 第一章 ...

  5. c语言图形时钟编程,C语言图形时钟课程设计实验报告.doc

    C语言图形时钟课程设计实验报告.doc 目录 1.系统功能要求 . 2. 数据结构设计及 说明 . 3.程序结构(画流程图) . 4.各模块的功能 . 5.试验结果(包括输入数据和输出结果) . 6. ...

  6. c语言实验与课程设计 李开,华中科技大学C语言课程设计实验报告及源代码.doc...

    华中科技大学C语言课程设计实验报告及源代码 课 程 设 计 报 告 题目: 航班时刻表信息查询系统 课程名称: C语言程序设计 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 计算机科学与技术 ...

  7. 湖北汽车工业学院c语言程序设计 汽车零部件采购管理程序,湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统).docx...

    湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统) C语言课程设计 商品销售信息管理系统 #include #include #include #include structproduct// ...

  8. c++语言程序设计教程与实验实验报告,C++程序设计课程设计实验报告—网络五子棋...

    C++程序设计课程设计实验报告-网络五子棋 计算机学院 实验报告 课程名称: C++程序设计课程设计 开课学期: 2010-2011学年第2学期 院 班: 计算机学院 093 指导老师: 项目题目: ...

  9. c语言课程设计实验报告模板,[C语言课程设计实验报告模板.doc

    [C语言课程设计实验报告模板 <程序设计基础> 课程设计报告 课程设计题目 通讯录管理系统 指导教师:____李 萍____ 班 级:__ 0903班_ _ __ 学生姓名:2009100 ...

最新文章

  1. Eclipse新建Work set管理工程
  2. CXF发布restful WebService的入门例子(服务器端)
  3. 你以为的BUG--BFC给你解决!
  4. jQuery:localStorage用法
  5. LNK2019:无法解析的外部符号
  6. ProFTPD 初探
  7. python数据预处理——数据分箱(将值归类)
  8. python中pass的使用_Python pass详细介绍及实例代码
  9. 【信号与系统】笔记(4-3)拉普拉斯逆变换
  10. 用逻辑覆盖法设计测试用例 int fun(int x,int y, int z) { if((y>1)(z==0)) {x=x/y} if((y==2)||(x==1)) {x=x+1}
  11. 计算机专业有必要数学竞赛吗,高中数学竞赛必要吗
  12. 七牛上传图片(前台JS+后台C#API获取token)
  13. 运用计算机计算电力系统潮流,潮流电力系统论文,关于电力系统潮流计算现状展望相关参考文献资料-免费论文范文...
  14. VS Code快速实现Git PR操作
  15. ArcGlobe三维开发之十八——纵断面图的绘制
  16. 关于《数据仓库知识体系》的超全指南(建议收藏)
  17. 面经02-深信服面试
  18. 1字节不是一定是8位。
  19. 裁员潮此起彼伏,转行数据分析师仍旧可期
  20. 什么是冲突域?如何解决冲突?

热门文章

  1. git的安装与使用(一)--windows平台 .
  2. 右击硬盘分区第一项出现Auto的解决办法
  3. github开源推荐:SuperSocket, 可扩展的 Socket 服务器框架
  4. 如何将 Linq 的查询结果转为 HashSet ?
  5. 创建工程师文化的3个步骤 | IDCF
  6. 使用Github部署Azure应用服务
  7. 你想象中的Task后续,很简单?
  8. ABP VNext从单体切换到微服务
  9. 虚虚实实,亦假亦真的 ValueTuple,绝对能眩晕你
  10. 真・WPF 按钮拖动和调整大小