程序代码如下:
#include<iostream>
#include<windows.h>
using namespace std
class Clock{
public:
Clock(short h=0,short m=0,short s=0):h(h),m(m),s(s){
}
void displayTime()
private:
short h
short m
short s
}void Clock::displayTime(){
while(true){
cout<<h<<':'<<m<<':'<<s<<" "
Sleep(1000)
cout<<'\r'
if(!(s=++s%60))
if(!(m=++m%60))
h=++h%24
}
} int main()
{
Clock A(23,59,55)
A.displayTime()
return 0
}
扩展资料:
定义一个日期类,包括年、月、日三个成员变量,显示日期的方法如下:
publicclassDemo{
publicstaticvoidmain(String[]args){
Datedate1=newDate(1994,5,22)
date1.showInfo()
Datedate2=newDate()
date2.year=1995
date2.month=6
date2.day=29
date2.showInfo()
}
}
//日期类:
publicclassDate{
intyear
intmonth
intday
//构造方法
publicDate(intyear,intmonth,intday){
this.year=year
this.month=month
this.day=day
}
publicDate(){
}
publicvoidshowInfo(){
System.out.println(year+"年"+month+"月"+day+"日")
}
}
1、以下例程实现时钟的实时显示基本要求: 1) 自行设计界面,模拟表盘式时钟。要求界面美观,清晰。2)数字同步显示时间信息。
2、例程:
#include<graphics.h>#include<math.h>
#include<dos.h>
#define PI 3.1415926
//屏幕中心的坐标(640X480模式下)
#define mid_x 320
#define mid_y 240
int main()
{ int graphdriver=DETECT,graphmode
int end_x,end_y
struct time curtime
float th_hour,th_min,th_sec
initgraph(&graphdriver,&graphmode,"C:\\TC2") //初始化VGA屏幕模式
setbkcolor(BLACK) //使用黑色的背景色
while(!kbhit(0)) //若有键盘输入,则跳出,即是结束程序
{ setcolor(GREEN) //把画笔设为绿色
circle(mid_x,mid_y,180) //钟的外圆
circle(mid_x,mid_y,150) //钟的内圆
circle(mid_x,mid_y,1) //画出钟的圆心
gettime(&curtime) //取得系统当前时间
th_sec=(float)curtime.ti_sec*0.1047197551 //把秒针的角度化为弧度,为以后绘制时方便,下同
th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0 //分针的弧度
th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0 //时度的弧度,注意整时是12等分的,所时乘的是3.14/180*5
//计算出时针的尾的坐标(时针长70)
end_x=mid_x+70*sin(th_hour)
end_y=mid_y-70*cos(th_hour)
setcolor(RED)
line(mid_x,mid_y,end_x,end_y) //用红色线画出时针
//计算出分针坐标(分针长110)
end_x=mid_x+110*sin(th_min)
end_y=mid_y-110*cos(th_min)
setcolor(RED)
line(mid_x,mid_y,end_x,end_y) //用红色画出分针
end_x=mid_x+140*sin(th_sec)
end_y=mid_y-140*cos(th_sec)
setcolor(RED)
line(mid_x,mid_y,end_x,end_y) //同上,画出秒针,长为140
//画出钟盘上的刻度,刻度长20
line(140,240,160,240) //9点对应的大刻度
line(320,60,320,80) //12点对应的大刻度
line(500,240,480,240) //3点的刻度
line(320,420,320,400) //6点的刻度
line(410,395.7,400,378.4) //5点
line(475.7,330,458.4,320) //4点
line(475.7,150,458.4,160) //2点
line(410,84.3,400,101.6) //1点
line(230,84.3,240,101.6) //11点
line(164.3,150,181.6,160) //10点
line(164.3,330,181.6,320) //8点
line(230,395.7,240,378.4) //7点
sleep(BLUE) //这里应该是打错,停止一秒,应为sleep(1000)
cleardevice() //清除屏幕上的显示
}
closegraph() //关闭VGA屏幕,即返回文本方式
return 0
}
这个是简单的数码管时钟显示如果有需要,我写过比较完善的1602显示时钟.显示控制年月日等等.#include\x0d\x0asbit Begin=P2^0\x0d\x0asbit Hour=P2^1\x0d\x0asbit Mus=P2^2\x0d\x0asbit End=P2^3\x0d\x0aunsigned char code Tab[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,\x0d\x0a0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40}\x0d\x0aunsigned char code num[]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}\x0d\x0aunsigned char Time[]={0,0,16,0,0,16,0,0}\x0d\x0aunsigned char a\x0d\x0aunsigned int x,m,th\x0d\x0avoid init()\x0d\x0a{\x0d\x0a TMOD=0x01\x0d\x0a TH0=(65535/50000)/256\x0d\x0a TL0=(65535/50000)%256\x0d\x0a EA=1\x0d\x0a ET0=1\x0d\x0a TR0=1\x0d\x0a}\x0d\x0avoid delay(unsigned int z) \x0d\x0a{ \x0d\x0a unsigned int x,y\x0d\x0a for(x=zx>0x--)\x0d\x0a for(y=110y>0y--)\x0d\x0a}\x0d\x0aunsigned char keyboard()\x0d\x0a{\x0d\x0a if(Begin==0){\x0d\x0a delay(5)\x0d\x0a if(Begin==0)\x0d\x0a return 1\x0d\x0a }\x0d\x0a if(Hour==0){\x0d\x0a delay(30)\x0d\x0a if(Hour==0)\x0d\x0a return 2\x0d\x0a }\x0d\x0a if(Mus==0)\x0d\x0a return 3\x0d\x0a if(End==0)\x0d\x0a return 4\x0d\x0a}\x0d\x0avoid display()\x0d\x0a{\x0d\x0a unsigned char i for(i=0i=20)\x0d\x0a {\x0d\x0a x++\x0d\x0a m=x\x0d\x0a th=m/3600//设置小时\x0d\x0a Time[0]=th/10\x0d\x0a Time[1]=th%10\x0d\x0a m=m%3600 Time[2]=16 th=m/60//设置分钟\x0d\x0a Time[3]=th/10\x0d\x0a Time[4]=th%10\x0d\x0a m=m%60 Time[5]=16 th=m//设置秒\x0d\x0a Time[6]=th/10\x0d\x0a Time[7]=th%10 a=0\x0d\x0a }\x0d\x0a}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)