C 结构体:显示当前时间,模拟时钟

要点:
1.进制转换(类比十进制)
2.time(NULL)获取到的是从1970.1.1.0:0:0至now的时间差(以秒的形式)
3.当键盘敲击任意键时,停止程序,避免死循环. 利用kbhit()函数,要#include<conio.h>
4.system()调用命令解释器, 利用system(“cls”)实现清屏, 要#include<stdlib.h>
5.Sleep()函数以毫秒为单位,Sleep(1000)延迟一秒钟, 要
#include <windows.h>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>

typedef struct time
{
    int hour;
    int minute;
    int second;
}TIME;


void fun(TIME *now);

int main(){
    TIME now;
    int seconds;
    seconds=time(NULL);
    now.hour=seconds/3600%24+8;
    now.minute=seconds/60%60;
    now.second=seconds%60;
    while(!kbhit()){
        fun(&now);
        printf("%d:%d:%d\n",now.hour,now.minute,now.second);
        Sleep(1000);
        system("cls");
    }

}

void fun(TIME *now){
    now->second++;
    if(now->second>=60){
        now->second=0;
        now->minute++;
        if(now->minute>=60){
            now->minute=0;
            now->hour++;
            now->hour%=24;

        }
    }
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于C语言的模拟时钟的代码,共计超过300行: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> // 定义时钟结构体 typedef struct clock { int hour; int minute; int second; } Clock; // 根据当前时间初始化时钟 void initClock(Clock *clock) { time_t currentTime; struct tm *localTime; time(&currentTime); localTime = localtime(&currentTime); clock->hour = localTime->tm_hour; clock->minute = localTime->tm_min; clock->second = localTime->tm_sec; } // 显示时钟 void showClock(Clock *clock) { printf("\r%02d:%02d:%02d", clock->hour, clock->minute, clock->second); } // 更新时钟 void updateClock(Clock *clock) { clock->second++; if (clock->second == 60) { clock->second = 0; clock->minute++; if (clock->minute == 60) { clock->minute = 0; clock->hour++; if (clock->hour == 24) { clock->hour = 0; } } } } // 主函数 int main() { Clock clock; initClock(&clock); while (1) { showClock(&clock); updateClock(&clock); Sleep(1000); } return 0; } ``` 这个时钟程序基于Windows系统,使用了Windows API中的Sleep函数,每隔1秒钟更新一次时钟。使用了time.h头文件中的time和localtime函数,获取了当前系统时间,并根据当前时间初始化了时钟。程序使用了结构体来存储时钟时间,方便后续的操作。程序中定义了三个函数:initClock用于初始化时钟,showClock用于显示时钟,updateClock用于更新时钟。程序中使用了循环语句来不断更新时钟,并使用了递增运算符来实现时钟的自动更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值