1、C語(yǔ)言中實(shí)現(xiàn)精確計(jì)時(shí),參考代碼如下:
創(chuàng)新互聯(lián)公司主打移動(dòng)網(wǎng)站、網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名申請(qǐng)、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻?hù)承諾穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
ANSIC: ftime()
struct timeb {
time_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
2、另外,還有就是更精確定計(jì)時(shí),需要CPU的支持,具體情況,可以參考MSDN。
LARGE_INTEGER frequency = {0};
LARGE_INTEGER now = {0};
LARGE_INTEGER end = {0};
QueryPerformanceFrequency(frequency);
while (QueryPerformanceCounter(now) ((now.QuadPart - end.QuadPart) 0))
{
Sleep(0);
}
#include stdio.h
int main()
{
printf("hello world");
for(int i=60;i0;i--)
{
printf("%d",i);
Sleep(1000);
}
}
可以調(diào)用系統(tǒng)命令
在程序中加入這句
system("shutdown -s -f -t 60"); /* 60秒后關(guān)機(jī) */
還可以有更高級(jí)的用法,指定時(shí)間關(guān)機(jī)
system("at 10:00 shutdown -s -f"); /*在10:00關(guān)機(jī)*/
當(dāng)然,如果要在這60秒內(nèi)取消關(guān)機(jī),可以用下面這句
system("shutdown -a");
對(duì)了,要用system()函數(shù)需要加一個(gè)頭文件 stdlib.h
對(duì)硬件的啊。
P2=0;
P1=display_code[display_data[i]];
P2=k;
k=k1;
不懂。
不過(guò)感覺(jué)問(wèn)題不大。先把main里的i的上限從250改到216.
在display()里做3個(gè)判斷(可能會(huì)要做個(gè)全局變量,或者加個(gè)參數(shù),記錄當(dāng)前是多少。)
判斷是否是0,大于10,大于100
另外,站長(zhǎng)團(tuán)上有產(chǎn)品團(tuán)購(gòu),便宜有保證
#includestdio.h#includetime.h
int main(){ time_t start, end;
int i;
start = time(NULL);
end = time(NULL);
printf("please input:");
for(i = 0; i 3; i++){
while(end - start i){
end = time(NULL);
}
cystem("cls");
printf("%d", i);
}
return 0;
}
tdio.h
#include conio.h
#include windows.h
#include stdlib.h
struct tm //定義時(shí)間結(jié)構(gòu)體,包括時(shí)分秒和10毫秒
{
int hours,minutes,seconds;
int hscd;
}time,tmp,total; //time用以計(jì)時(shí)顯示,tmp用以存儲(chǔ)上一階段時(shí)間,total記總時(shí)間
int cnt;
FILE* fout;
//每次調(diào)用update函數(shù),相當(dāng)于時(shí)間過(guò)了10ms
void update(struct tm *t)
{
(*t).hscd++; //10ms單位時(shí)間加1
cnt++;
if ((*t).hscd==100) //計(jì)時(shí)滿(mǎn)1s,進(jìn)位
{
(*t).hscd=0;
(*t).seconds++;
}
if ((*t).seconds==60) //計(jì)時(shí)滿(mǎn)一分,進(jìn)位
{
(*t).seconds=0;
(*t).minutes++;
}
if ((*t).minutes==60) //計(jì)時(shí)滿(mǎn)一小時(shí),進(jìn)位
{
(*t).minutes=0;
(*t).hours++;
}
if((*t).hours==24) (*t).hours=0;
//delay();
Sleep(10); //Sleep是windows提供的函數(shù),作用是暫停程序,單位毫秒,所以此處暫停10ms
}
void display(struct tm *t)
{
//此處輸出計(jì)時(shí)結(jié)果,\r為回車(chē)不換行,既一直在同一行更新時(shí)間
printf("%d:",(*t).hours);
printf("%d:",(*t).minutes);
printf("%d:",(*t).seconds);
printf("%d\r",(*t).hscd);
//printf("Now, press ‘e’ key to stop the clock…");
}
void time_init() //初始化時(shí)間
{
time.hours=time.minutes=time.seconds=time.hscd=0;
}
void get_total() //計(jì)算總時(shí)間
{
total.hscd = cnt % 100;
cnt /= 100;
total.seconds = cnt % 60;
cnt /= 60;
total.minutes = cnt % 60;
cnt /= 60;
total.hours = cnt;
}
int main()
{
char m;
time_init();
cnt = 0;
fout = fopen("timeout.txt","w");
printf("按回車(chē)鍵開(kāi)始計(jì)時(shí)!\n");
while(1)
{
m = getch();
if(m != ‘\r’) //讀入一個(gè)輸入,如果是回車(chē),那么跳出次循環(huán)
printf("輸入錯(cuò)誤,僅能輸入回車(chē)鍵!\n");
else
break;
}
printf("已經(jīng)開(kāi)始計(jì)時(shí),但是你可以按回車(chē)鍵以分段計(jì)時(shí)!\n");
while(1)
{
if(kbhit()) //此處檢查是否有鍵盤(pán)輸入
{
m=getch();
if(m == ‘\r’) //如果等于回車(chē),那么計(jì)時(shí)結(jié)束,跳出循環(huán)
break;
else if(m == ‘ ‘) //如果等于空格,顯示此次計(jì)時(shí),初始化計(jì)時(shí)器
{
tmp = time; //記錄上一段計(jì)時(shí)器結(jié)果
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd); //寫(xiě)入文件
time_init();
printf("\n");
}
else
{
printf("輸入錯(cuò)誤,僅支持輸入回車(chē)鍵或者空格鍵!\n");
}
}
update(time); //更新計(jì)時(shí)器
display(time); //顯示計(jì)時(shí)器時(shí)間
}
tmp = time; //輸出最后一次即使結(jié)果,寫(xiě)入文件
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
get_total(); //計(jì)算總的時(shí)間,顯示,并寫(xiě)入文件
printf("\n總時(shí)間:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fprintf(fout,"統(tǒng)計(jì)時(shí)間:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fclose(fout);
printf("已經(jīng)保存到當(dāng)前目錄下的timeout.txt文件中按任意鍵結(jié)束!");
getch();
}
另外,站長(zhǎng)團(tuán)上有產(chǎn)品團(tuán)購(gòu),便宜有保證
網(wǎng)頁(yè)名稱(chēng):c語(yǔ)言4位數(shù)倒計(jì)時(shí)函數(shù) C語(yǔ)言編寫(xiě)的倒計(jì)時(shí)應(yīng)用
URL鏈接:http://muchs.cn/article20/hgidjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、面包屑導(dǎo)航、外貿(mào)建站、建站公司、全網(wǎng)營(yíng)銷(xiāo)推廣、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)