2015-04-06 39 views
0

我被賦予顯示斐波那契數字的任務,但是在詢問用戶他/她想要在給定時間計算多少個數字。如何在嵌套循環中詢問用戶輸入?

他們告訴我參考的書中有一個例子。我認爲代碼中的幾行更改會產生我的問題的答案,但我無法理解該代碼出錯的位置。

int main() 
{ 
    int NumsToCal = 5; 

    cout << "How many numbers would you like to calculate?" << endl; 
    cin >> NumsToCal; 

    cout << " This program will calculate " << NumsToCal << " Fibonacci Numbers at a time" <<endl; 

    int Num1 = 0, Num2 = 1; 
    char WantMore = '\0'; 
    cout << Num1 << " " << Num2 << " " ; 

    do 
    { 
     for(int Index = 0; Index < NumsToCal; ++Index) 
     { 
      cout << Num1 + Num2 << " "; 

      int Num2Temp = Num2; 
      Num2 = Num1 + Num2; 
      Num1 = Num2Temp; 
     } 
     cout << "Do you want more numbers (y/n)? " << endl; 
     cin >> WantMore; 

    } while (WantMore == 'y'); 

     cout << "Goodbye!" << endl; 

    return 0; 
} 
+1

@xsami謝謝! – Ham

+1

歡迎您! :),如果這是答案,請檢查我的答案是否正確@Ham – xsami

回答

0

,你必須做的唯一的事情就是再次讀取NumsToCal,和你以後做這樣的事情cin >> WantMore;

if (WantMore == 'y') 
{ 
    Num1 = 0; 
    Num2 = 1; 
    cout << "How many numbers would you like to calculate?" << endl; 
    cin >> NumsToCal; 
    cout << Num1 << " " << Num2 << " " ; 
} 

這是我的代碼:http://ideone.com/a8um5Z

1

Xsami絕對對。您只需要再添加一行,如:

cin>>NumstoCal; 

雖然改變輸出內容的方式並不難,

這裏是我的代碼: https://ideone.com/BXREP9

+0

謝謝你的時間! – Ham