C++ 我如何制作一个程序来显示用户输入值所花费的时间

8 浏览
0 Comments

C++ 我如何制作一个程序来显示用户输入值所花费的时间

我想制作一个程序,显示用户输入一个值所花费的时间。比如,程序会要求用户输入他们的名字,当他们完成输入后,程序将显示他们输入名字所花费的时间(以秒为单位)。我想以操作系统特定的方式来实现这个功能。

0
0 Comments

问题的原因是想要计算用户输入值所花费的时间。解决方法是使用C++标准库中的<chrono>头文件,通过记录输入前后的时间戳,计算时间差,并将其转换为毫秒。

以下是解决问题的代码:

#include 
#include 
#include 
int main()
{
  using Clock = std::chrono::high_resolution_clock;
  std::cout << "Enter your name: ";
  std::string name;
  auto start = Clock::now();
  std::cin >> name;
  auto end = Clock::now();
  auto ms = std::chrono::duration_cast(end - start).count();
  std::cout << "Your input took " << ms << " milliseconds" << std::endl;
}

在代码中,首先使用using Clock = std::chrono::high_resolution_clock;定义了一个时钟类型Clock,它可以提供高分辨率的时间信息。然后,通过std::chrono::high_resolution_clock::now()获取当前时间戳,并将其赋值给start变量。

接下来,程序输出提示信息"Enter your name: ",并使用std::cin读取用户输入的值,将其赋值给name变量。

然后,再次使用std::chrono::high_resolution_clock::now()获取当前时间戳,并将其赋值给end变量。

接着,通过end - start计算时间差,并使用std::chrono::duration_cast将时间差转换为毫秒,将结果赋值给ms变量。

最后,程序使用std::cout输出"Your input took "ms" milliseconds",并换行。

这样,通过记录输入前后的时间戳,并计算时间差,就可以得到用户输入值所花费的时间。

0
0 Comments

使用std::chrono库中的time_point和duration来计算用户输入所花费的时间。

#include 
using std::chrono;
time_point start, end;
int diff_in_s = 0;
start = system_clock::now();
your_user_input();
end = system_clock::now();
diff_in_s = duration_cast(end - start).count();

原因:需要计算用户输入所花费的时间。

解决方法:使用std::chrono库中的time_point和duration来计算开始和结束时间,并计算两者之间的差值。最后将差值转换为秒数,以得到用户输入所花费的时间。

0