[英]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(¤t) == (timer+40))
{
break;
}
...
}
有時是可行的,但在大多數情況下都行不通,因為這只是一個粗略的猜測。 任何建議,將不勝感激。
首先,您不需要為time
函數提供time_t*
參數。 如果僅使用它的返回值,則調用time(NULL)
很好(而且很常見time(NULL)
。 這樣,如果不使用start
和current
變量,則可以消除它們。
其次, time
的返回值為time_t
,而不是int
,因此timer
的類型應為time_t
。
最后看看你的測試
if(time(¤t) == (timer+40))
並考慮一下,如果您從測試開始經過40秒,而您又在測試之前進行了其他操作,而現在距啟動43秒,那會發生什么。 您還不想休息嗎? 那么==
是適當的測試嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.