c語言計時器
Ⅰ c語言中怎麼設置計時器
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
clock_t start = clock();
//do some process here
clock_t end = (clock() - start)/CLOCKS_PER_SEC;
cout<<"time comsumption is "<<end<<endl;
}
(1)c語言計時器擴展閱讀
使用linux的系統設置計時器
#include <sys/time.h>
int main()
{
timeval starttime,endtime;
gettimeofday(&starttime,0);
//do some process here
gettimeofday(&endtime,0);
double timeuse = 1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - startime.tv_usec;
timeuse /=1000;//除以1000則進行毫秒計時,如果除以1000000則進行秒級別計時,如果除以1則進行微妙級別計時
}
timeval的結構如下:
strut timeval
{
long tv_sec; /* 秒數 */
long tv_usec; /* 微秒數 */
};
Ⅱ 如何在C語言中實現計時
以前做那個停車場管理系統的時候, 也是需要計時,因為要收費.. 好像就這么記得. 每個上機的人,應該有一個結構體,在結構體里設個計時的變數,可以是個只有兩個元素的數組.當然這樣會很不方便了.(因為需要你自己輸入上機時間,和下機時間,並保存在變數里.)
.... ANSIC里有一個time函數,在time.h頭文件里. 這個函數,傳遞一個參數,返回的是系統時間(單位我不清楚),返回的系統時間保存在你傳遞的參數里... 你可以試試這個. 貌似這個可能就有點麻煩了. 因為需要測試程序... 你不可能等個1,2個小時,再看看輸出結果是不是對的...測試的時候,乘個數放大一下應該就可以了..
也就是說,你設一個結構體,裡面有一個記錄時間的數組time[2],數組只含兩個元素, 這兩個元素的值,由time函數來獲得.(這里獲得的是系統時間).
.這個結構體里應該還含有的其他元素,應該要包括,電腦標號ID(每個電腦對應一個號碼),和一個bool型變數status,來標識是該電腦的狀態,已有人上機或者處於空閑狀態.
status為true(有人使用該機器)時,把系統時間付給time[0],
該機器的status變為false(有人下機)後,在把一個系統時間付給time[1].計算時間差和收費額.
.. 那些一個小時,半個小時,等等,不同時間的不同收費標准,一般用if,什麼的來搞定.
Ⅲ 怎麼用c語言編寫一個計時器!!!
調用win的api函數ExitWindowsEx();
#include <stdio.h>
#include <time.h>
main()
{
clock_t start,end;
int n;
printf("How many seconds do you want to count? ");
scanf("%d",&n);
getchar();
clrscr();
start=end=clock();
while((n-(int)(end-start)/19)>=0&!kbhit())
{
printf("the time is: %d",n-(int)(end-start)/19);
sleep(1);
end=clock();
clrscr();
}
ExitWindowsEx();
}
循環結束就可以了。
網上幫你找了下。
頭文件: 在Winuser.h中定義;需要包含 Windows.h.
靜態庫: User32.lib.
【以上轉貼】
【以下原創】
#include "ctime" //不要直接編,可能過不了,為C++,只是告知你大概方法
using namespace std;
//我寫的一個類,調用API函數:
// gameTime類,用於時間控制
class gameTime
{
public:
gameTime();
~gameTime();
public:
DWORD tNow; //當前時間
DWORD tPre; //開始時間
private:
bool key; //運行控制
public:
bool getKey() { return key; }
void setKey( bool temp ) { key = temp; }
DWORD getTimeDelay(){ return (tNow - tPre);}
};
/**-----------------------------------------------------------------------------
* gameTime類實現段
*------------------------------------------------------------------------------
*/
gameTime::gameTime():tNow(0),tPre(0),key(false)
{
}
gameTime::~gameTime()
{
}
//原理是開始計時時:
tPre = GetTickCount();
///....執行。
gameStartTime.tNow = GetTickCount();
if(gameStartTime.getTimeDelay()>= 72000)
............
//在72S內做什麼什麼。。。
這個是控制時間間隔的。
Ⅳ C語言做一個計時器
你可以配合 sleep(); {程序暫停函數,頭文件 windows.h}
和clock(); {返回程序 已經運行了的時間 頭文件 time.h} 一起使用
完整代碼 就 不寫了
原理就是 1\第一次 你 打開文件前 先 讀出 時間(clock)
2\然後打開文件 隨後 再 讀 時間 作差就是 打開文件耗費的時間
3\讓程序 sleep(); 暫停的時間 應該為 1秒-剛才 作差算出來 的 時間
Ⅳ C語言:倒計時器
#include "time.h"
void main(){
int n,m,settime=10;
n=time(0);
printf("請輸入倒計時時間(秒)");
scanf("%d",&settime);
while (settime!=0){
if (n!=time(0)){//如果時間過了1秒
settime--;//計時器減1
printf("%d\n",settime);//輸入目前的倒計時
n=time(0);//更新當前時間
}
}
}
Ⅵ 請問怎麼用c語言怎麼寫一個最簡單計時器
#include<stdio.h>#include<windows.h>int main(){ int hour = 0, min = 0, sec = 0; while (1){ Sleep(1000);//暫停1s system("cls");//清屏 sec++; if (sec == 60){ min++; sec = 0; } if (min == 60){ hour++; min = 0; } if (hour == 24){ hour = 0; } printf("%02d:%02d:%02d\n", hour, min, sec); //%02d輸出長度為2,不足2前面補0 } return 0;}
運行截圖
Ⅶ C語言,計時器
秒錶計時器的代碼
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
struct tm //定義時間結構體,包括時分秒和10毫秒
{
int hours,minutes,seconds;
int hscd;
}time,tmp,total; //time用以計時顯示,tmp用以存儲上一階段時間,total記總時間
int cnt;
FILE* fout;
//每次調用update函數,相當於時間過了10ms
void update(struct tm *t)
{
(*t).hscd++; //10ms單位時間加1
cnt++;
if ((*t).hscd==100) //計時滿1s,進位
{
(*t).hscd=0;
(*t).seconds++;
}
if ((*t).seconds==60) //計時滿一分,進位
{
(*t).seconds=0;
(*t).minutes++;
}
if ((*t).minutes==60) //計時滿一小時,進位
{
(*t).minutes=0;
(*t).hours++;
}
if((*t).hours==24) (*t).hours=0;
//delay();
Sleep(10); //Sleep是windows提供的函數,作用是暫停程序,單位毫秒,所以此處暫停10ms
}
void display(struct tm *t)
{
//此處輸出計時結果,\r為回車不換行,既一直在同一行更新時間
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() //初始化時間
{
time.hours=time.minutes=time.seconds=time.hscd=0;
}
void get_total() //計算總時間
{
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("按回車鍵開始計時!\n");
while(1)
{
m = getch();
if(m != 『\r』) //讀入一個輸入,如果是回車,那麼跳出次循環
printf("輸入錯誤,僅能輸入回車鍵!\n");
else
break;
}
printf("已經開始計時,但是你可以按回車鍵以分段計時!\n");
while(1)
{
if(kbhit()) //此處檢查是否有鍵盤輸入
{
m=getch();
if(m == 『\r』) //如果等於回車,那麼計時結束,跳出循環
break;
else if(m == 『 『) //如果等於空格,顯示此次計時,初始化計時器
{
tmp = time; //記錄上一段計時器結果
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd); //寫入文件
time_init();
printf("\n");
}
else
{
printf("輸入錯誤,僅支持輸入回車鍵或者空格鍵!\n");
}
}
update(&time); //更新計時器
display(&time); //顯示計時器時間
}
tmp = time; //輸出最後一次即使結果,寫入文件
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
get_total(); //計算總的時間,顯示,並寫入文件
printf("\n總時間:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fprintf(fout,"統計時間:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fclose(fout);
printf("已經保存到當前目錄下的timeout.txt文件中按任意鍵結束!");
getch();
}
Ⅷ C語言編程計時器如何工作
C語言編程計時器,參考思路如下:
每隔30秒(自己定)操作文件file:
1、file文件里只存一個數(初值為0);
2、每隔30秒打開文件,讀出數字;
3、數字加上30秒;
4、再寫進去;
在"Dos.h"中有void sleep(unsigned seconds)函數;
Sample:
#include "Dos.h"
#include "stdio.h"
void main(){
while(1){
sleep(yourTime);
doSomething(...);
}
}