gpt4 book ai didi

c - 如何使用 time.h 库创建计时器?

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:50 24 4
gpt4 key购买 nike

这不是家庭作业,它更像是来 self 们教授的挑战,但我还是将其标记为作业。

问题是创建一个具有 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) 很好(而且很常见)。这样您就可以消除 startcurrent 变量(如果它们未被使用的话)。

其次,time的返回值是time_t,不是int,所以timer应该是类型time_t.

最后,看看你的测试

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

考虑一下如果您在测试之外做其他事情时时间从开始开始已经过了 40 秒,而现在,比方说,从开始开始已经过了 43 秒,会发生什么情况。你还不想分手吗?那么 == 是合适的测试吗?

关于c - 如何使用 time.h 库创建计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com