2017-08-05 58 views
0

我創建了一個Prompt User to Loop來重啓程序,但是當我輸入包括「y」在內的任何東西時,它只會提示我「按任意鍵繼續...」,然後關閉。這裏是我的代碼:Prompt User to Loop

#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

int main() 
{ 

    int Multiple1 = 0; 
    int Multiple2 = 0; 

    char again = 'Y'; 

    while (again == 'y' || again == 'Y') 
    { 

     int Multiple1 = 0; 
     int Multiple2 = 0; 
     cout << "Input your first Multiple: " << endl; 
     cin >> Multiple1; 
     cout << "Your First Multiple is: " << Multiple1 << endl; 

     cout << "Input your second Multiple: " << endl; 
     cin >> Multiple2; 

     cout << "Your Second Multiple is: " << Multiple2 << endl; 

     for (int i = 1; i <= 100; i++) 
     { 
      if (i % Multiple1 == 0 && i % Multiple2 == 0) 
       cout << "FizzBuzz" << endl; 
      else 
       if (i % Multiple1 == 0) 
        cout << "Fizz" << endl; 
       else 
        if (i % Multiple2 == 0) 
         cout << "Buzz" << endl; 
        else cout << i << endl; 


     } 

     { 
      cout << "Restart? (y/n) "; 
      cin >> again; 



     } 
     system("pause"); 
     return 0; 
    } 
} 

謝謝

這是我的第一個項目,我完全新的編碼,所以我不知道該怎麼做。

回答

0

你的return 0錯位,它應該在while循環之外。

而且您不應該在您的cin >> again附近放置支架{}

{ // this bracket doesn't needed 
     cout << "Restart? (y/n) "; 
     cin >> again; 



    } 

只要使用支架時,它需要例如在for, if, function, etc。它不會產生編譯錯誤。但我認爲這會讓你誤讀,並認爲while循環已關閉。

0
#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

int main() 
{ 

    int Multiple1 = 0; 
    int Multiple2 = 0; 

    char again = 'Y'; 

    while (again == 'y' || again == 'Y') 
    { 

     int Multiple1 = 0; 
     int Multiple2 = 0; 
     cout << "Input your first Multiple: " << endl; 
     cin >> Multiple1; 
     cout << "Your First Multiple is: " << Multiple1 << endl; 

     cout << "Input your second Multiple: " << endl; 
     cin >> Multiple2; 

     cout << "Your Second Multiple is: " << Multiple2 << endl; 

     for (int i = 1; i <= 100; i++) 
     { 
      if (i % Multiple1 == 0 && i % Multiple2 == 0) 
       cout << "FizzBuzz" << endl; 
      else 
       if (i % Multiple1 == 0) 
        cout << "Fizz" << endl; 
       else 
        if (i % Multiple2 == 0) 
         cout << "Buzz" << endl; 
        else cout << i << endl; 


     } 

     { //This bracket doesn't need. 
      cout << "Restart? (y/n) "; 
      cin >> again; 
      continue; 
     } // This bracket doesn't need. 
     system("pause"); 
     return 0; 
    } 
}