1

数値の回転速度をキャッチしようとしています。カウンターが0から始まるプログラムがあり
ます。ユーザーがボタン「1を追加」をクリックするたびに。カウンターを 1 ずつインクリメントします
。カウンターは 255 で最大になります。255 を超えると、0 に戻ります。
次に、0 から最大までインクリメントし、0 に戻るまでにかかった秒数を表示したいと思います。完全な回転の時間。ユーザーがボタンをクリックした速さによって異なります。

私が知る必要があるのは、これにタイマーを使用する方法ですか? プログラムは、私がコーディングする必要がある数値の完全な回転の間のタイマーだけで完了します。

私は使用しています

#include <time.h>    //* clock_t, clock, CLOCKS_PER_SEC

ご意見をお聞かせください。ありがとうございました。

int counter;
counter = pkt[0];

cout << endl;

cout << counter << endl;

if(counter == 1)
{
    cout << "revolution" << endl;
}
4

3 に答える 3

3

C++11 を使用できる場合は<chrono>、良い選択になる可能性があります。

を含む:

期間

1 分、2 時間、または 10 ミリ秒などの時間範囲を測定します。このライブラリでは、それらは期間クラス テンプレートのオブジェクトで表されます。これは、カウント表現と期間精度を結合します (たとえば、10 ミリ秒はカウント表現として 10 を持ち、期間精度としてミリ秒を持ちます)。

時点

誕生日、今日の夜明け、または次の電車が通過するときなど、特定の時点への参照。このライブラリでは、time_point クラス テンプレートのオブジェクトは、エポック (同じクロックを使用するすべての time_point オブジェクトに共通の固定された時点) に相対的な期間を使用してこれを表現します。

時計

ある時点を実際の物理的な時間に関連付けるフレームワーク。ライブラリは、現在の時刻を time_point として表現する手段を提供する少なくとも 3 つのクロックを提供します: system_clock、steady_clock、および high_resolution_clock。

于 2013-03-13T09:00:29.267 に答える
0
#include <ctime>
time_t start = time(NULL);

UTC 1970 年 1 月 1 日の 00:00 時間から経過した秒数が表示されます。追跡したいコードの先頭にそれを配置すると、完全な回転を実行するのにかかった時間を計算したいときに、時間をもう一度取得するだけで済みます. 次に、違いを取得します。difftime違いを理解するのに役立ちます。実際に動いているタイマーと考えないでください。革命の前後に時間をかけて違いを見つけているだけです。

于 2013-03-13T09:06:05.570 に答える
0

difftime2 つの時間インスタンスの差を取得するために使用できます。difftimeページのサンプル コードは、探しているものを提供します。

于 2013-03-13T08:59:23.367 に答える