诚求一个C语言程序:模拟时钟转动程序

诚求一个C语言程序:模拟时钟转动程序,第1张

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

//#include <dos.h>

#include <conio.h>

int main()

{

struct tm *curtime

time_t t

clock_t start

double th_hour,th_min,th_sec

do

{

printf("*********************************************

")

printf("** This is a simple clock program.**

")

printf("** **

")

printf("*********************************************

")

printf("The current time is:

")

t=time(0)

curtime=gmtime(&t) /*得到当前系统时间*/

if((double)curtime->tm_hour<=12) /*午前的处理*/

{

printf("AM ")

if((double)curtime->tm_hour<10) printf("0") /*十点之前在小时数前加零*/

printf("%.0f:",(double)curtime->tm_hour)

}

else /*午后的处理*/

{

printf("PM ")

if((double)curtime->tm_hour-12<10) printf("0")

printf("%.0f:",(double)curtime->tm_hour-12)

}

if((double)curtime->tm_min<10) printf("0")

printf("%.0f:",(double)curtime->tm_min)

if((double)curtime->tm_sec<10) printf("0")

printf("%.0f",(double)curtime->tm_sec)

printf("

")

start=clock()

while(clock()-start<1000)

//delay(1000) /*延时一秒后刷新*/

system("cls")

}while(!kbhit())/* 按任一键退出 */

return 0

}

/*开发环境:turbo c 2.0模拟时钟转动程序代码*/

#include"graphics.h"

#include"math.h"

#include"dos.h"

#define pi 3.1415926

#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300

#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240

#define d(a,b,c) X(a,b,c)Y(a,b,c)line(300,240,x,y)

void init() /*划时钟边框函数*/

{

int i,l,x1,x2,y1,y2

setbkcolor(1)

circle(300,240,200)

circle(300,240,205)

circle(300,240,5)

for(i=0i<60i++) /*划钟点上的短线*/

{

if(i%5==0)

l=15

else

l=5

x1=200*sin(i*6*pi/180)+300

y1=200*cos(i*6*pi/180)+240

x2=(200-l)*sin(i*6*pi/180)+300

y2=(200-l)*cos(i*6*pi/180)+240

line(x1,y1,x2,y2)

}

}

main()

{

int x,y,i,k=1

int gdriver=9,gmode=2

unsigned char h,m,s

int o,p,q

float n

struct time t[1]

struct date d[1]

initgraph(&gdriver,&gmode,"c:\\tc")

initgraph(&gdriver,&gmode,"c:\\tc")

for(i=0i<=6i++)

{

settextstyle(TRIPLEX_FONT,HORIZ_DIR,i) /*控制输出字符的字体,方向,大小*/

cleardevice()

settextjustify(1,1) /*在指定坐标上输出字符串*/

outtextxy(300,80,"12")

outtextxy(300,390,"6")

outtextxy(140,230,"9")

outtextxy(460,230,"3")

outtextxy(380,100,"1")

outtextxy(220,100,"11")

outtextxy(430,160,"2")

outtextxy(430,310,"4")

outtextxy(380,370,"5")

outtextxy(220,370,"7")

outtextxy(160,160,"10")

outtextxy(160,310,"8")

}

init()

setwritemode(1)/*设置画线的输出模式*/

if(k!=0)

{

getdate(d) /*获得系统日期函数*/

o=d[0].da_year

p=d[0].da_mon

q=d[0].da_day

gettime(t) /*获得系统时间函数*/

h=t[0].ti_hour

m=t[0].ti_min

s=t[0].ti_sec

}

setcolor(7)/*设置时针颜色*/

n=(float)h+(float)m/60

d(150,n,30) /*画出时针*/

setcolor(14) /*设置分针颜色*/

d(170,m,6)/*画出分针*/

setcolor(4) /*设置秒针颜色*/

d(190,s,6) /*画出秒针*/

while(!kbhit()) /*控制程序按下任意键退出*/

{

while(t[0].ti_sec==s)

gettime(t)

gotoxy(44,18) /*使光标移动到指定坐标*/

printf("\b\b\b\b\b\b\b\b\b") /*退格,使表示时间的字符串不断变化*/

sound(400) /*按给定的频率打开PC扬声器*/

delay(70) /*中断程序的执行,时间为70毫秒*/

sound(200)

delay(30)

nosound()/*按给定的频率关闭PC扬声器*/

setcolor(4)

d(190,s,6)

s=t[0].ti_sec

d(190,s,6)

if(t[0].ti_min!=m)

{

setcolor(14)

d(170,m,6)

m=t[0].ti_min

d(170,m,6)

}

if(t[0].ti_hour!=h)

{

setcolor(7)

d(150,h,30)

h=t[0].ti_hour

d(150,h,30)

sound(1000)

delay(240)

nosound()

delay(140)

sound(2000)

delay(240)

nosound()

}

if(s<10)/*用字符的形式输出时间*/

{ if(m<10)

printf("%u:0%u:0%u",h,m,s)

else

printf("%u:%u:0%u",h,m,s)

}

else

{ if(m<10)

printf("%u:0%u:%u",h,m,s)

else

printf("%u:%u:%u",h,m,s)

}

gotoxy(34,19)/*在指定坐标上输出日期*/

printf("%d年%d月%d日",o,p,q)

printf("\b\b\b\b\b\b\b\b\b")

}

getch()

closegraph()

}

#include “windows.h”

#include "iostream.h"

class MyTimer

{ private:

int hour

int minute

int sec

public:

MyTimer():hour(0),minute(0),sec(0){}

MyTimer(int h, int m, int s)

{ hour = h

minute = m

sec = s

}

void setTime(int h, int m, int s)

{ hour = h

minute = m

sec = s

}

void showTime()

{ while(1)

{ system("cls")

if(sec>=60)

{ sec = sec-60

minute +=1

}

if(minute>=60)

{ minute = minute-60

hour +=1

}

if(hour >=24)

{

hour = hour-24

}

cout<<hour<<":"<<minute<<":"<<sec<<endl

Sleep(1000)

sec++

}

}

}

在主函数创建一个MyTimer对象后调用showTime就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11527179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存