资源描述:
《c语言课程设计---整点报时时钟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言实习报告专业:xxxx班姓名:xxx实习题目:整点报时时钟实习地点:实习时间:实习学院:专业班级:实习者:指导教师:这次的计算机实训,我选择的题目是整点报时时钟;它的功能有以下几个:a.具有指针式表盘界面(方形或圆形);b.具有时针+分针+秒针并正确旋转;c.时钟时间与系统时间相一致,秒针具有“滴答”声音效果.并实现整点报时.它的C语言源程序代码是:#include#definePI3.1416#include"math.h"#include"dos.h"voidinit_sceen(int,int
2、,int);/*画时钟屏幕*/voidsec();voidmain(){intx0=320,y0=240,r0=150;/*时钟的中心位置(320,240)以及半径(150)*/init_sceen(x0,y0,r0);sec();closegraph();}voidinit_sceen(intx0,inty0,intr0){inti,x,y,graphdriver,graphmode;chars[10];floatalpha,a0=90;graphdriver=DETECT;initgraph(&graphdriver,&gr
3、aphmode,"");/*初始化图形系统*/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)
4、;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);
5、elsecircle(x,y,2);floodfill(x,y,14);}setlinestyle(0,0,3);}/*以上部分的作用是完成表盘的设计*/voidsec(void){intx,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;unionREGSr;unsignedchar*shijian="";unsignedchar*daa="";structtimetim;structdatedat;floatalphai,alphak,alphaj,a0=90;xi=x0;yi=
6、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);/*一数字的形式输出日期*/setcolor(R
7、ED);outtextxy(275,295,daa);x=290;y=460;setcolor(RED);outtextxy(100,y,"DesignedbyYANGFAN");/*在指定位置显示字符*/setcolor(LIGHTRED);outtextxy(x,y0+20,"WATCH");setlinestyle(0,0,3);k=tim.ti_hour;j=tim.ti_min;i=tim.ti_sec;alphak=(a0+30*(12-k)-j*5/60.*6)*PI/180;alphaj=(a0-6*j)*PI/
8、180;/*画秒针*/alphai=(a0+6*(60-i))*PI/180;x=x0+cos(alphai)*(r0-32);y=y0-sin(alphai)*(r0-32);setcolor(WHITE);line(x0,y0,xi,yi);setcolor