簡體   English   中英

如何使用time.h庫創建計時器?

[英]How do I create a timer using the time.h library?

這不是家庭作業,這更多的是我們教授的挑戰,但是我還是將其標記為一個。

問題是要創建一個具有3個級別的打字游戲,它們具有匹配難度,不同的時間限制(以秒為單位)和得分。 現在我對程序本身沒有任何問題,我遇到的問題是實現計時器,該計時器應該獨立於操作系統(我想,因為唯一的提示是time.h)。 我所做的是錯誤的,因為根據我所讀的時間只是一個粗略的猜測。h,它也是丑陋的代碼:

time_t start;
int timer = time(&start);
...
time_t current;
for(ctr=0;ctr<10;ctr++)
{
    ...
    if(time(&current) == (timer+40))
      {    
           break;
      }
    ...
}

有時是可行的,但在大多數情況下都行不通,因為這只是一個粗略的猜測。 任何建議,將不勝感激。

首先,您不需要time函數提供time_t*參數。 如果僅使用它的返回值,則調用time(NULL)很好(而且很常見time(NULL) 這樣,如果不使用startcurrent變量,則可以消除它們。

其次, time的返回值為time_t ,而不是int ,因此timer的類型應為time_t

最后看看你的測試

if(time(&current) == (timer+40))

並考慮一下,如果您從測試開始經過40秒,而您又在測試之前進行了其他操作,而現在距啟動43秒,那會發生什么。 您還不想休息嗎? 那么==是適當的測試嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM