重複の可能性:
いつでもループを終了する
申し訳ありませんが、別の問題があります。「time_t end = time(0) + 1;」を変更すると、to 'time_t end = time(0) + 5;'... その後、私のプログラムはすぐにループを終了せず、5 秒後に終了します。ループをすぐに終了するように変更するにはどうすればよいですか? 1 分だとしましょう。なぜなら、私はプログラムを作成しているので、いつでもループを終了して払い戻しを請求できるパーキング メーターです。以下のコードへの参照:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int b=0, i;
int seconds;
printf("\nEnter number of seconds : ");
scanf("%d", &seconds);
while (b==0)
{
b=kbhit();
for(i=1;i<=seconds;i++)
{
while (b==0)
{
b=kbhit();
time_t end = time(0) + 5; //5 seconds delay.
while(time(0) < end)
{
b=kbhit();
}
seconds -= 5;
printf("Number of seconds left : %d\n", seconds);
b=kbhit();
}
}
if(seconds == 0)
{
exit(0);
}
b=kbhit();
}
printf("Number of remaining seconds left : %d\n", seconds);
}