2017-07-28 50 views
0

我有一個秒和分鐘計數器,非常類似於我的計時器。但是,我無法獲得在屏幕上保留的分鐘數。每秒鐘清除終端,但離開分鐘

int main() 
{ 
    int spam = 0; 
    int minute = 0; 

    while (spam != -1) 
    { 
     spam++; 
     std::cout << spam << " seconds" << std::endl; 
     Sleep(200); 
     system("CLS"); 
     //I still want the system to clear the seconds 
     if ((spam % 60) == 0) 
     { 
      minute++; 
      std::cout << minute << " minutes" << std::endl; 
     } 
     //but not the minutes 
    } 
} 
+0

您需要重新打印每個清屏後的分鐘數。目前你只打印每個垃圾郵件%60 == 0' – Tas

+0

這就是我所堅持的。你碰巧知道該怎麼做? –

回答

1

system("CLS")將清除屏幕,你做while循環的每次迭代,而你只能打印每分鐘的minute左右

您需要打印分鐘每次迭代:

while (spam != -1) 
{ 
    spam++; 
    if (minute) 
     std::cout << minute << " minutes" << std::endl; 
    std::cout << spam << " seconds" << std::endl; 
    Sleep(200); 
    system("CLS"); 
    if ((spam % 60) == 0) 
    { 
     minute++; 
    } 
} 

在這裏,我想你只想打印分鐘,如果它不是零,因此if (minute)

FWIW:當您更新minute時,您可能想要將spam重置爲0,但這取決於您正在做什麼。也許你只是希望顯示總共花費的的數量。

+0

非常感謝你! –