2013-07-07 41 views
-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也是什麼將命令添加減去任何數額?C++簡單的時鐘減法命令

+0

try:minutes - = 60; – OldProgrammer

+2

打開你的警告,至少得到一個確定的結論,第一次編譯時沒有任何事情發生:* main.cpp:13:14:warning:語句沒有影響[-Wunused-value] * 'minutes - 60; //需要幫助!!!!!!' – chris

+1

將I/O作爲for循環的第三個表達式是混淆的主要例子。請不要這樣做。另外,你的代碼格式很亂。你在使用舊的Dev-C++嗎?如果是這樣,請考慮使用其他代碼編輯器,因爲它可以更容易地實現正確的格式化,並且從長遠來看,讓您更容易學習正確的編程。 – milleniumbug

回答

1
minutes - 60; 

聲明不起作用,它不會將結果存回分鐘。

嘗試:

minutes -= 60; 
+0

「分鐘 - = 60」與「分鐘=分鐘 - 60」相同。 – Egg

+0

謝謝你生病嘗試, – sickist

+0

也蛋謝謝你告訴我,它像分鐘 - 分鐘-60它真的幫助我瞭解 – sickist

0

你指向你的問題會扣除60從minutes但不會存回minutes。您可以將其更改爲minutes -= 60,但這會導致無限循環,因爲minutes永遠不會達到1000000。由於您在每次迭代開始時遞增minutes,因此可以使用模運算符來確定是否應遞增hours

if (minutes % 60 == 0) 
{ 
    hours++; 
}