4

時間制限を追加する必要があるクイズ プログラムのコードを以下に示します。現在、コードは使用時間に基づいてクイズのスコアを実行します。しかし、プログラムが開始された時刻から正確に 5 分で終了する必要があります。

使用されるヘッダー

#include<time.h>

以下のように初期化された値

time_t initialtime,finaltime;

このコードを使用して、クイズが始まる前に時間のカウントを開始します

initialtime=time(NULL);

プログラムが終了すると、このコードで時間を取得します

finaltime=time(NULL);

では、最終時間が 10 分になる前にプログラムを終了するにはどうすればよいでしょうか。Main 関数でどのコードを使用すればよいですか?

PS: 必要に応じて完全なコードを投稿できます。

4

3 に答える 3

4

おおよそ次のようなもの:

int main()
{
    //....
    time_t initial_time = time(NULL);
    float time_limit = 600.0f;

    //...
    while ( (time(NULL) - initial_time) < time_limit )
    {
        // ... do stuff
    }

    // clean up etc.
}

特定の期間が経過するまでループします。

于 2012-11-18T01:38:58.883 に答える
1

これを行うには多くの方法があります。

  • 反復ごとに 10 分経過しているかどうかを確認するループを作成する
  • 10分間スリープしてからプログラムを終了するスレッドを生成します
  • 10分後に通知するアラームを実装する

以下も参照してください。

Stack Overflow の優れている点は、「C Timeout」で検索できることです。また、Google で「function timeout c」を検索すると、良い結果が得られます。

于 2012-11-18T01:40:21.077 に答える
1

2 つのオプションがあります。 1. プロセス/プログラム中に、所要時間が 10 分に達したかどうかを確認します。これは非常に簡単です。2. プログラムを単純なタイマーとして開始します。これは、10 分の終わりに自動的に終了します。このプログラムでは、タイマーが開始する前に、必要な操作を別のスレッドとして開始します。これはより正確です。

于 2012-11-18T01:42:24.190 に答える