ZDNetChina中文社区 » » 动态语言 » 用C语言编出2008年北京奥运会倒计时,天天.时时.分分.秒秒?


2008-5-27 17:26 ZML8210
用C语言编出2008年北京奥运会倒计时,天天.时时.分分.秒秒?

想了半天,不知道从何处入手。大家帮忙提示点思路咯!
不知道利用死循环能能编出来?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int i_sleep(int n)//延迟n秒函数
{
    time_t start,end;
    start=time(NULL);
    end=time(NULL);
    while(end-start<n)
    {
        end=time(NULL);
    }
    return 0;
}

int showtime()
{
        struct tm timestru,*tmtime;
        time_t endtime, curtime;
        long ttime;

        timestru.tm_year = 2008 - 1900;
        timestru.tm_mon = 8 - 1;         
        timestru.tm_mday = 8;        
        timestru.tm_hour = 20;
        timestru.tm_min = 0;
        timestru.tm_sec = 0;
      
        endtime = mktime(&timestru);
        curtime = time(NULL);
        ttime = endtime - curtime;
        tmtime = localtime(&curtime);
      
        printf("\n\n\n");
        printf("\t\t ———————————————————————— \n");
        printf("\t\t|        2008北京奥运倒计时       |\n");
        printf("\t\t|———————————————————————|\n");
        printf("\t\t|     当前时间 %04d年%02d月%02d日 %02d时%02d分%02d秒     |\n",
                tmtime->tm_year + 1900, tmtime->tm_mon + 1, tmtime->tm_mday ,
                tmtime->tm_hour, tmtime->tm_min, tmtime->tm_sec);
        printf("\t\t|———————————————————————|\n");
        printf("\t\t|    距北京奥运 %04d年%02d月%02d日 %02d时%02d分%02d秒    |\n",
                timestru.tm_year + 1900, timestru.tm_mon + 1, timestru.tm_mday,
                timestru.tm_hour, timestru.tm_min, timestru.tm_sec);
        printf("\t\t|———————————————————————|\n");      
        printf("\t\t|           还有%3d天%02d时%02d分%02d秒              |\n",
                ttime/86400, ttime%86400/3600, ttime%86400%3600/60, ttime%86400%3600%60);
        printf("\t\t ———————————————————————— \n\t\t");
      
        return 0;        
}

int main(int argc, char *argv[])
{
        while(1)
        {
                system("cls");
                showtime();
                i_sleep(1);
        }
        return 0;
}

结果:


以下是我找的程序,有一处错误!请高手帮忙解决了!
题目在以下附件里:

2008-5-27 17:30 fdc9643
我也想编这个,搞不定

页: [1]


Powered by Discuz!  Archiver   © 2001-2006 Comsenz Inc.