2015-04-06 2 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

Смежные вопросы