我同意楼上说的 计算机时钟和当前时间不是一个概念
但是我猜你应该是想修改当前时间,代码如下
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#define time_len 20
int main ()
{
char set_time[time_len], cmd[100]
败袜printf("请输入想设置的时间(格式XX:xx):")
scanf("%s", &set_time) //输入将时间修改为XX:XX,其实可以不设察如激置分,直接XX,则默认XX:00
strcpy(cmd, "time ")
strcat(cmd, set_time)
橡吵 system(cmd)
}
#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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)