В моем коде есть оператор if, который должен определять, превышает ли мой chrono :: duration одну минуту времени выполнения. Когда оператор if становится истинным, он должен вывести «Tick!» только один раз, но моя программа выводит "Tick!" каждый раз, когда delta__time превышает одну минуту, даже если я вычту из него 60 секунд. Возможно, вам придется посмотреть на фотографию, чтобы получить лучшее представление о проблеме. Я все еще работаю над объяснением вещей, и это только мой второй пост на сайте. Как заставить мой код печатать галочку только раз в минуту? Большое спасибо.
int main()
{
// Create Screen Buffer
wchar_t* screen = new wchar_t[nScreenWidth * nScreenHeight];
HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
//SetConsoleActiveScreenBuffer(hConsole);
DWORD dwBytesWritten = 0;
wstring numberSystem[10] = {
};
while (1)
{
tp2 = chrono::system_clock::now();
chrono::duration<long double, ratio<60>> delta__time = tp2 - tp1;
if (delta__time >= 60s)
{
delta__time -= 60s;
cout << "Tick!\t" << delta__time.count() << endl;
}
else {
cout << delta__time.count() << endl;
}
// Handle change in time here.
}
return 0;
}
Ошибка определения тика в хронологическом времени