- 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
语
言
实
习
报
告
专业:xxxx班
姓名:xxx
实习题目:整点报时时钟
实习地点:
实习时间:
实习学院:
专业班级:
实习者:
指导教师:
这次的计算机实训,我选择的题目是整点报时时钟;它的功能有以下几个:
具有指针式表盘界面(方形或圆形);
具有时针+分针+秒针并正确旋转;
时钟时间与系统时间相一致,秒针具有“滴答”声音效果.并实现整点报时.
它的C语言源程序代码是:
#include graphics.h
#define PI 3.1416
#includemath.h
#includedos.h
void init_sceen(int,int,int); /*画时钟屏幕*/
void sec();
void main()
{
int x0=320,y0=240,r0=150; /* 时钟的中心位置(320,240) 以及 半径(150) */
init_sceen(x0,y0,r0);
sec();
closegraph();
}
void init_sceen(int x0,int y0,int r0)
{
int i,x,y,graphdriver,graphmode;
char s[10];
float alpha,a0=90;
graphdriver=DETECT;
initgraph(graphdriver,graphmode,); /* 初始化图形系统 */
setbkcolor(0); /* 设置背景颜色为黑色 */
setcolor(2); /* 用绿色画出时钟的边框 */
fillellipse(x0,y0,r0,r0+50);
fillellipse(x0,y0,r0+30,r0+80);
setfillstyle(1,1); /* 把时钟钟面以外都填成蓝色 */
floodfill(x0-r0-50,y0,2);
for(i=12;i=1;i--) /* 计算出数字1~12的位置 并在相应的位置输出数字*/
{
alpha=(a0+30*(11-i)*PI/180);
x=x0+cos(alpha)*(r0-10);
y=y0-sin(alpha)*r0;
sprintf(s,%2d,i);
setcolor(4);
settextstyle(0,0,1); /* 设置输出数字的字体 大小 */
outtextxy(x,y,s);
}
/*画出刻度*/
for(i=60;i=1;i--)
{
alpha=(a0+6*(60-i)*PI/180);
x=x0+cos(alpha)*(r0-20);
y=y0-sin(alpha)*(r0-20);
setcolor(14);
if(i%5==0)
circle(x,y,5);
else circle(x,y,2);
floodfill(x,y,14);
}
setlinestyle(0,0,3);
} /*以上部分的作用是完成表盘的设计*/
void sec(void)
{
int x,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;
union REGS r;
unsigned char *shijian=;
unsigned char *daa=;
struct time tim;
struct date dat;
float alphai,alphak,alphaj,a0=90;
xi=x0;yi=y0;xj=x0;yj=y0;xk=x0;yk=y0;
do
{
x=38;y=12;
gettime(tim); /* 从本机中获取时间 */
sprintf(shijian,%02d:%02d:%02d,tim.ti_hour,tim.ti_min,tim.ti_sec);
/*获取日期*/
getdate(dat);
sprintf(daa,%02d--%02d--%02d,dat.da_year,dat.da_mon,dat.da_day);
bar(255,290,385,310); /
文档评论(0)