机械时钟的设计(学士)学位论文.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 程 设 计 报 告 课程名称 C语言程序设计 课题名称 机械时钟的设计 专 业 电子信息 班 级 学 号 姓 名 指导教师 湖南工程学院 课 程 设 计 任 务 书 课程名称 C语言程序设计 课 题 机械时钟设计 专业班级 学生姓名 学 号 指导老师 审 批 一、设计内容与设计要求 设计内容:机械时钟系统 在屏幕上实现一个机械时钟,并且能够通过键盘上的按键完成时间的修改。 目 录 1.需求分析 1 2程序总体设计 1 3.程序详细设计 2 4.程序运行结果 11 5.参考资料 13 6.总结体会 13 7.程序源代码 13 机械时钟程序报告 需求分析 根据老师的要求,要在屏幕上显示一个机械时钟并且显示当前的数字时钟以及日历。根据老师的要求,本程序要显示机械时钟就必须通过画图函数将机械表画出来。另外,本程序还用到延时函数,实现秒针,分针,时针的转动。树立起总体思想就开始设计整个程序。 程序总体设计 本程序包含了一个主函数和六个子函数,主函数完成初始化时间(获取系统时间)以及时钟与日历的进制,同时还是调节六个子函数共同完成整个程序功能的实现。六个子函数分别完成显示机械表针和数字时钟、显示界面上的文字、显示日历、做表盘、做刻度以及重新设置程序的时间与日历。 流程图如下: 程序的详细设计 1、画表盘、做刻度、显示界面上一些无需改动的文字 void fun2()//做表盘 { setcolor(WHITE); circle(220,240,180); circle(220,240,170); circle(220,240,2); circle(220,240,110); } void fun3()//做刻度 {int i,ix,iy,ix1,iy1; double i1; for(i=0;i60;i++) {i1=i*PI/30; ix=int(220+165*sin(i1)); iy=int(240-165*cos(i1)); ix1=int(220+105*sin(i1)); iy1=int(240-105*cos(i1)); setcolor(WHITE); if(i%15==0) {bar(ix-5,iy-5,ix+5,iy+5);} else circle(ix,iy,2); if(i%5==0) {circle(ix1,iy1,5); circle(ix,iy,5);} } } void fun4()//做界面上的文字 { char s1[]={机械时钟}, s2[]={按r键重设时间}, s3[]={按其他键退出}, s4[]={制作人——杨自然}; setfont(50,40,黑体); setcolor(RED); outtextxy(80,0,s1); setfont(22,16,宋体); setcolor(BLUE); outtextxy(420,250,s2); outtextxy(420,300,s3); setcolor(BLUE); setfont(18,12,宋体); outtextxy(400,455,s4); } 设计简单的表盘,即四个半径分别为2,110,170,180的同心圆。做刻度,在半径为110的圆盘上标出1到12点的位置,用半径为5小圆圈表示。在半径为170的圆盘上用标出1到12点的位置,用半径分别为2和五的同心圆表示,在1到六十的刻度上用半径为2的小圆圈表示,在3、6、9、12点的位置用边长为10的填充正方形表示。另外,在画图界面上显示一些必要的文字。 2、画表针,显示数字时钟,显示日历 void fun1(int h,int m,int s) //画时钟、分钟、秒钟,显示数字时钟 {double h1,m1,s1; int hx,hy,mx,my,sx,sy; s=s%60; m=m%60; h=h%24; s1=s*PI/30; m1=m*PI/30; h1=(h%12)*PI/6+m*PI/360; hx=int(220+100*sin(h1)); hy=int(240-100*cos(h1)); mx=int(220+140*sin(m1));

您可能关注的文档

文档评论(0)

Andy Warhol + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档