- 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语言程序设计
课题名称 机械时钟的设计
专 业 电子信息
班 级
学 号
姓 名
指导教师
湖南工程学院
课 程 设 计 任 务 书
课程名称 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));
您可能关注的文档
- 合成革湿法生产线pu浆料槽升降机设计(学士)学位论文.doc
- 合肥地区某市进行燃气管网的规划大学毕业设计.doc
- 黑河学院学生奖惩信息管理系统的设计与实现(学士)学位论文.doc
- 珩磨机的总体设计大学毕业设计.doc
- 烘干机控制系统设计(学士)学位论文.doc
- 红曲霉的代谢产物研究大学毕业论文.doc
- 湖南桃花江凤凰山风景旅游区项目立项建设资金申请报告.doc
- 户外旅游网站-住宿及俱乐部在线支付子系统的设计与实现(学士)学位论文.doc
- 花生剥壳机原理设计(学士)学位论文.doc
- 化学纤维厂项目立项建设可行性分析论证报告.doc
- 机组自动发电控制系统设计(学士)学位论文.doc
- 基于51单片机八路抢答器设计本科大学毕业设计全文.doc
- 基于51单片机的无线篮球计分器设计(学士)学位论文.doc
- 基于android的手机天气预包系统设计(学士)学位论文.doc
- 基于android和cs的快递运单扫描管理系统设计(学士)学位论文.doc
- 基于android平台的智能电表服务的设计与实现(学士)学位论文.doc
- 基于android手机的医疗图像浏览处理软件设计大学毕业设计.doc
- 基于android系统的课程管理系统设计本科大学毕业设计.doc
- 基于at89c51的磁感强度检测计的设计(学士)学位论文.doc
- 基于can总线的多点温度监测及报警系统设计(学士)学位论文.doc
文档评论(0)