-1
#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;

long int minutes = 0;
int hours;

int main(){
    for (; minutes < 1000000;cout<<"Minutes: "<<hours<<"|Seconds: "<<minutes)
    {   
        ++minutes;
        Sleep(60000);
        if ( minutes == 60)
        {
            minutes - 60;// need help here!!!!!!
            hours++;
        }
        system("cls");}
        system("pause>nul");
        return 0;
    }

C++ を本格的に学び始めたばかりなので、分と時間をカウントする単純なカウンターを作成することにしましたが、分が 60 に達するとカウントし続けます。カウンターで 60 を減算するにはどうすればよいですか? 減算を追加するコマンドは何ですか?

4

2 に答える 2

1
minutes - 60;

ステートメントは効果がなく、結果を分単位で保存しません。

試す:

minutes -= 60;
于 2013-07-07T01:25:50.777 に答える
0

質問で指している行は から 60 を減算しますminutesが、それを に戻しませんminutes。に変更することもできますが、に到達minutes -= 60しないため、無限ループが発生します。すべての反復の開始時にインクリメントしているため、モジュラス演算子を使用して、インクリメントする必要があるかどうかを判断できます。minutes1000000minuteshours

if ( minutes % 60 == 0 )
{
    hours++;
}
于 2013-07-07T01:31:52.367 に答える