2012-10-17 204 views
4

輸出只顯示時間從7到11:59。它假定從中午到午夜。它是一個邏輯錯誤,但我找不到一個方法來糾正它。嵌套for循環邏輯錯誤與時間邏輯錯誤

#include <iostream> 
using namespace std; 
int main() 
{ 
    int hour,min; 

    for (hour=0;hour<=11;hour+=1) 
    {  
     for (min=0;min<=59;min++) 
     { 
      if (min<10) 
       cout<<hour<<":"<<"0"<<min<<endl; 
      else 
       cout<<hour<<":"<<min<<endl; 
     } 

    } 
return 0; 
} 
+6

你確定前7個小時沒有跑掉控制檯嗎?嘗試輸出到文件。 – chris

+1

您缺少一個括號 - 我很懶 - 請發佈我可以編譯的代碼。 –

+0

你可以用你的shell來幫助你:'myexecutable> output.txt' –

回答

2

Windows控制檯被配置爲顯示至多300線回溯的(輸出)由缺省值。

7的背後是12 5小時,5 * 60 = 300。因此,你是(最有可能)看到您的滾動緩衝區的限制。

增加您回滾的大小(用鼠標右鍵單擊命令提示符圖標,選擇屬性 - >佈局,設置回溯到像9999以上),或寫你的輸出到文件。你會看到正確的輸出。

+0

我在大學的基礎計算機科學。你提到的大多數東西我們都沒有過去。方向說有一個邏輯錯誤,我必須添加行來修復它。 @nneonneo – Ka112324

+0

我認爲這是問題的答案。我在XCode(Mac)上運行了代碼,工作正常(在'11:59'之前打印'0:00') – alxcyl

+0

@NiaBoone:看起來你修正了邏輯錯誤。現在只需使用更大的回滾緩衝區即可查看所有輸出。 – nneonneo