但是我猜你应该是想修改当前时间,代码如下
#include<stdioh>#include<stdlibh>
#include<stringh>
#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 "stdioh"
#include "dosh"
//#include <windowsh>
#include <timeh>
#define S2M_M2H 60
struct N
{
int hour;
int minute;
int second;
} mytime = {0,0,0};
int main()
{
time_t rt;
struct tm t;
time ( &rt );
t = localtime ( &rt );
mytimehour=t->tm_hour;
mytimeminute = t->tm_min;
mytimesecond = t->tm_sec;
//1楼答得不错,你不会自己合直来么,我帮你合起来了
//以后我白天不能上网,晚上来答一两个就玩去了,这题如果可行,就采纳1楼的,我没功劳
for(; ; mytimesecond++)
{
if(mytimesecond==S2M_M2H)
{
mytimeminute++;
mytimesecond=0;
if(mytimeminute==S2M_M2H)
{
mytimehour++;
mytimeminute=0;
}
}
{
printf("\b\b\b\b\b\b\b\b%2d:%02d:%02d",mytimehour,mytimeminute,mytimesecond);
delay(1000);
}
}
return 0;
}
我这写了一个!使用数码管显示的!可以用键盘校对时间!你参考下。还写了一个液晶显示的!你要的话也可以发给你!
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
uchar table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchar table1[]={0x5b,0x66,0x6d,0x6f,0x6d,0x6f};
uchar table2[]={0,1,0,0,0,0};
int shi=1,fen=0,miao=0;
uchar a,i,j,temp=-2,temp1;
void sfm(uchar dz,uchar shu);//将计的数的十位和个位分开
void display();//将时间显示出来
void display1(uchar dz);//只显示要校对的数
void init();//初始化
void jiaoshi();//定义一个校时函数
void delay(uchar z)//定义一个延时函数
{
uchar x,y;
for(x=0;x<50;x++)
for(y=0;y<z;y++);
}
void main()
{
init();
while(1)
{
jiaoshi();
}
}
void init()
{
EA=1;
ET0=1;
ET1=1;
TR1=1;
TR0=0;
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
K1=K2=1;
temp1=0;
while(TR1)
{
for(i=0;i<6;i++)
{
delay(3);
P1=i;
P2=table1[i];
delay(3);
}
}
}
void sfm(uchar dz,uchar shu)
{
if(shu==60&dz!=0) shu=0;
table2[dz]=shu/10;
table2[dz+1]=shu%10;
}
void display()
{
uchar j;
for(j=0;j<6;j++)
{
delay(3);
P1=j;
P2=table[table2[j]];
delay(3);
}
}
void display1(uchar dz)
{
uchar j;
for(j=0;j<2;j++)
{
delay(3);
P1=dz+j;
P2=table[table2[dz+j]];
delay(3);
}
}
void jiaoshi()
{
uchar a;
if(K1==0)
{
delay(5);
if(K1==0)
{
TR0=0;
a++;
temp+=2;
if(a==4|temp==6)
{
a=0;
temp=-2;
TR0=1;
}
}
}
while(!K1)
{
delay(5);
display1(temp);
}
while(!K1);
display1(temp);
if(K2==0)
{
delay(5);
if(K2==0)
{
if(a==1)
{
temp=0;
if(shi==24)
shi=0;
shi++;
sfm(0,shi);
}
if(a==2)
{
temp=2;
if(fen==59)
fen=-1;
fen++;
sfm(2,fen);
}
if(a==3)
{
temp=4;
if(miao==59)
miao=-1;
miao++;
sfm(4,miao);
}
}
}
while(!K2)
{
delay(5);
display1(temp);
}
while(!K2);
if(K3==0)
{
delay(5);
if(K3==0)
{
if(a==1)
{
shi--;
if(shi==0)
shi=24;
sfm(0,shi);
}
if(a==2)
{
fen--;
if(fen==-1)
fen=59;
sfm(2,fen);
}
if(a==3)
{
miao--;
if(miao==-1)
miao=59;
sfm(4,miao);
}
}
}
while(!K3)
{
delay(5);
display1(temp);
}
while(!K3);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==16)
{
a=0;
miao++;
sfm(4,miao);
if(miao==60)
{
miao=0;
display();
fen++;
sfm(2,fen);
if(fen==60)
{
fen=0;
shi++;
sfm(0,shi);
if(shi==25)
{
shi=1;
sfm(0,shi);
}
}
}
}
display();
}
void timer1() interrupt 3
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
j++;
if(j==20)
{
TR0=1;
TR1=0;
}
}
以上就是关于C语言编写由键盘输入设定计算机时钟当前时间的程序全部的内容,包括:C语言编写由键盘输入设定计算机时钟当前时间的程序、C语言模拟动态时钟程序、数字时钟C语言设计.用的是51单片机。 00 秒 00 分 00 小时 还有小数点。 麻烦把程序代码告诉我把等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)