押されてEnter(キャリッジリターン)が発生するとすぐにこのループを終了させるにはどうすればよいですか? 私はgetch()!= '\ r'(ループ条件として)を試みましたが、別の反復を開始し、ストップウォッチの目的を打ち負かすにはkeyを押す必要があります。Enter(キャリッジリターン)で無限ループを終了する方法
//To Create a stopwatch
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
int milisecond=0;
int second=0;
int minutes=0;
int hour=0;
cout<<"Press any key to start Timer...."<<endl;
char start=_getch();
for(;;) //This loop needed to terminate as soon as enter is pressed
{
cout<<hour<<":"<<minutes<<":"<<second<<":"<<milisecond<<"\r";
milisecond++;
Sleep(100);
if(milisecond==10)
{
second++;
milisecond=0;
}
if(second==60)
{
minutes++;
second=0;
}
if(minutes==60)
{
hour++;
minutes=0;
}
}
return(0);
}
ループの終了条件は?
ctrl-zまたはctrl-cの使用に問題がありますか? – Adalcar
ctrl-zはプログラム全体を終了しましたが、私はループの作業終了後に作業する必要があります。 –
プラットフォーム固有の呼び出しなしでは実行できません。 More here:[入力が押されるのを待たずに標準入力から文字をキャプチャする](http://stackoverflow.com/questions/421860/capture-characters-from-standard-input-without-waiting-for-enter-to- ) – user4581301