在C ++中实现计时器

m0bi5

我目前正在用C ++制作游戏。我下面有一个计时器功能:

void timer(int &s , int &m , bool a)
{
   while (a)
   {
      Sleep(1000);
      if (s%60)
        m+=1;
      s+=1;
   }
}

这是游戏的功能:

void game()
{
   int s = 0 , m = 0;
   char a[]="Computers";
   char b[10];
   timer(s,m,true);
   while (strcmpi(a,b)!=0)
   {
      cout<<"Guess the word:";
      gets(b);
   }
   timer(s,m,false);
   cout<<"You got it correct!\n";
   cout<<"Time taken : "<<m<<':'<<s<<endl;
}

当我运行程序时,什么也没发生。我猜计时器正在运行,并且不允许在while循环中game()执行。

因此,基本上我正在尝试找出用户正确猜出单词所需的时间。

我该如何克服这个问题?

提前致谢 :)

用户名

如果您只想花费时间,请取消计时器。询问用户开始的时间,将其存储,然后从用户结束的时间中减去开始时间。

void game()
{
   int s = 0 , m = 0;
   char a[]="Computers";
   char b[10];
   time_t start = time(NULL); <<<< Modification here
   while (strcmpi(a,b)!=0)
   {
      cout<<"Guess the word:";
      gets(b);
   }
   cout<<"You got it correct!\n";
   time _t taken = time(NULL) - start;
   m = taken / 60; <<<< Modification here
   s = taken % 60; <<<< Modification here
   cout<<"Time taken : "<< m <<':'<<s<<endl;
}

如果分配允许,请考虑将charsa和b替换stringsa和b。用户不能像使用char数组和时那样,溢出字符串并在程序上造成严重破坏gets

void game()
{
   int s = 0 , m = 0;
   std::string a ="Computers"; <<<< Modification here
   std::string b; <<<< Modification here
   time_t start = time(NULL); 
   do
   {
      cout<<"Guess the word:";
      cin>> b; <<<< Modification here
   } while (a != b); <<<< Modification here. No sense testing b before you read b
   cout<<"You got it correct!\n";
   time _t taken = time(NULL) - start;
   m = taken / 60; 
   s = taken % 60; 
   cout<<"Time taken : "<< m <<':'<<s<<endl;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C ++中实现计时器

来自分类Dev

在C ++ 11中实现看门狗计时器

来自分类Dev

如何使用Boost在C ++中实现独立于系统时间的计时器回调

来自分类Dev

如何使用Boost在C ++中实现独立于系统时间的计时器回调

来自分类Dev

在C ++中实现计时器/股票代码类时需要帮助

来自分类Dev

C ++中的CPU计时器

来自分类Dev

C#中的延迟计时器

来自分类Dev

在C#中使用计时器实现循环

来自分类Dev

使用System的简单示例。计时器。C#中的计时器

来自分类Dev

C ++ 11中带有计时器的计时器:从纳秒到毫秒

来自分类Dev

如何在C#中实现自动选中和未选中的单选按钮和计时器?

来自分类Dev

C#-Windows Service中的多个计时器

来自分类Dev

计时器未在C#中重置

来自分类Dev

C#在文本框中显示计时器

来自分类Dev

新线程中的C#计时器

来自分类Dev

无法在C#中停止计时器

来自分类Dev

C#中的毫秒精确计时器

来自分类Dev

计时器未在C#中重置

来自分类Dev

EventWaitHandle。阻塞。在C#中设置唤醒计时器

来自分类Dev

如何在C ++程序中添加计时器

来自分类Dev

C#Windows窗体中的计时器控件

来自分类Dev

如何停止在C#类中运行的计时器

来自分类Dev

标签在C#中的计时器

来自分类Dev

C#中的计时器无法正常工作

来自分类Dev

C#中的10分钟计时器

来自分类Dev

如何立即启动c中的计时器

来自分类Dev

c#检测表单中的计时器

来自分类Dev

如何在 C 中运行计时器

来自分类Dev

C#中的计时器表现得很奇怪