2017-02-20 77 views
1

我所有的命令和修改數組都是單獨工作的。但是,當我嘗試返回菜單時,屏幕只是開始抖動,不會繼續。我被迫關閉該程序。我該如何解決。爲什麼我的程序不會重新輸入第二個while循環? C++

/* Programmer: Joshua Zuber 
    Program Desc: This Program will allow the user to select an icon to display around an array message! 
    Program Name: Array Demonstration 
    Clean Compile Date: 
*/ 

#include<iostream> 
#include<string> 
#include<iomanip> 
#include<cstdlib> 
#include<ctime> 

using namespace std; 

int main() 
{ 
    // Arrays 
    string Masterfile[] = "I want to thank all the C++ students who has helped me this semester. You have inspired me to work harder and to be able to design small C++ programs using a gamming approach. "; 
    string Studentfile[]= ""; 


    // Variables 
    int Icon; 
    char again = 'y'; 
    int i; 
    int j; 
    int menu = 'y'; 
    int menu2 = 'n'; 
    int menu3 = 'n'; 
    int menu4 = 'n'; 
    int menu5 = 'n'; 
    int objEdit; 

    while (toupper(again) == 'Y') // Start Main Loop 
     { 
      cout << "Welcome to Array Demonstration!" << "\n\n"; 
      cout << Masterfile[0] << "\n\n"; 

      while(toupper(menu) == 'Y' || toupper(menu2) == 'Y' || toupper(menu3) == 'Y' || toupper(menu4) == 'Y' || toupper(menu5) == 'Y') // Start Array Menu Loop 
       { 
        cout << "Please select one of the below options to edit this string!" << "\n\n"; 
        Studentfile[0] = Masterfile[0]; 
        cout << "1. Size" << "\n\n"; 
        cout << "2. Replace {all of the C++ students} with {My instructer, Professor Penn}" << "\n\n"; 
        cout << "3. Swap the word {small} with {efficient}" << "\n\n"; 
        cout << "4. Erase the phrase {using a gamming approach}" << "\n\n"; 
        cout << "5. View Final Product" << "\n\n"; 
        cin >> objEdit; 

        if(objEdit == 1) // Menu Array Size Check 
         { 
          cout << "The size of the original string is: " << Masterfile[0].size() << "\n\n"; 
          cout << "\n\n" << "Would you like to return to menu? Y/N " << "\n\n"; 
          cin >> menu2 ; 
          system("cls"); 
         } 
        else if(objEdit == 2) // Menu 2nd Option 
         { 
          cout << "Changing the phrases!" << "\n\n"; 
          Studentfile[0].replace(16,20,"My instructer, Professor Penn"); 
          cout << Studentfile[0] << "\n\n"; 
          cout << "\n\n" << "Would you like to return to menu? Y/N " << "\n\n"; 
          cin >> menu3; 
          system("cls"); 
         } 
        else if(objEdit == 3) // Menu 3rd Option 
         { 
          cout << "Changing the phrases!" << "\n\n"; 
          Studentfile[0].replace(131,5,"efficient"); 
          cout << Studentfile[0] << "\n\n"; 
          cout << "\n\n" << "Would you like to return to menu? Y/N " << "\n\n"; 
          cin >> menu4; 
          system("cls"); 
         } 
        else if(objEdit == 4) // Menu 3rd Option 
         { 
          cout << "Changing the phrases!" << "\n\n"; 
          Studentfile[0].erase(150); 
          cout << Studentfile[0] << "\n\n"; 
          cout << "\n\n" << "Would you like to return to menu? Y/N " << "\n\n"; 
          cin >> menu5; 
          system("cls"); 
         } 
        else if (objEdit <=0 || objEdit >=6) // Menu Failsafe 
         { 
          cout << "Please Select a Valid Number" << "\n\n"; 
          cout << "1. Size" << "\n\n"; 
          cout << "2. Replace {all of the C++ students} with {My instructer, Professor Penn}" << "\n\n"; 
          cout << "3. Swap the word {small} with {efficient}" << "\n\n"; 
          cout << "4. Erase the phrase {using a gamming approach}" << "\n\n"; 
          cout << "5. View Final Product" << "\n\n"; 
          cin >> objEdit; 
         } 

        else if(objEdit == 5 || toupper(menu) == 'N') // Menu 5th Option 
         { 
          cout << "Please Select one of the following numbers to choose a symbol!" << "\n\n"; 
          cout << "1. *" << "\n\n"; 
          cout << "2. ^" << "\n\n"; 
          cout << "3. #" << "\n\n"; 
          cout << "4. +" << "\n\n"; 
          cin >> Icon; 
          system("cls"); 

          if(Icon <= 0, Icon >= 5) // User Failsafe 
           { 
            cout << "You're Entry Is Not Valid" << "\n\n"; 
            cout << "Please Select one of the following numbers to choose a symbol!" << "\n\n"; 
            cout << "1. *" << "\n\n"; 
            cout << "2. ^" << "\n\n"; 
            cout << "3. #" << "\n\n"; 
            cout << "4. +" << "\n\n"; 
            cin >> Icon; 
            system("cls"); 
           } 
          else // Icon Breakdown 
           { 

            if(Icon == 1) // Icon Choice 1 
             { 
              for (i=1;i<=1;i++) 
               { 
                for (j=1;j<=i;j++); 
                { 
                 cout << "*******************************************************************************" << "\n"; 
                 cout << Studentfile[0] << "\n"; 
                 cout << "*******************************************************************************" << "\n"; 
                 cout << endl; 
                 cout << "\n\n" << "Do you wish to play again? Y/N " << "\n\n"; 
                 cin >> again; 
                 system("cls"); 
                } 
               } 
             } 

            else if(Icon == 2) // Icon Choice 2 
             { 
              for (i=1;i<=1;i++) 
               { 
                for (j=1;j<=i;j++); 
                { 
                 cout << "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" << "\n"; 
                 cout << Studentfile[0] << "\n"; 
                 cout << "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" << "\n"; 
                 cout << endl; 
                 cout << "\n\n" << "Do you wish to play again? Y/N " << "\n\n"; 
                 cin >> again; 
                 system("cls"); 
                } 
               } 
             } 

            else if(Icon == 3) // Icon Choice 3 
             { 
              for (i=1;i<=1;i++) 
               { 
                for (j=1;j<=i;j++); 
                { 
                 cout << "###############################################################################" << "\n"; 
                 cout << Studentfile[0] << "\n"; 
                 cout << "###############################################################################" << "\n"; 
                 cout << endl; 
                 cout << "\n\n" << "Do you wish to play again? Y/N " << "\n\n"; 
                 cin >> again; 
                 system("cls"); 
                } 
               } 
             } 
            else if(Icon == 4) // Icon Choice 4 
             { 
              for (i=1;i<=1;i++) 
               { 
                for (j=1;j<=i;j++); 
                { 
                 cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << "\n"; 
                 cout << Studentfile[0] << "\n"; 
                 cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << "\n"; 
                 cout << endl; 
                 cout << "\n\n" << "Do you wish to play again? Y/N " << "\n\n"; 
                 cin >> again; 
                 system("cls"); 
                } 
               } 
             } 
            else // Icon Choice 5 
             { 
              cout << "Sorry You Didn't Want to Play" << "\n\n"; 
              cout << "\n\n" << "Do you wish to play again? Y/N " << "\n\n"; 
              cin >> again; 
              system("cls"); 
             } 
           } 
         }    
       } // End Menu Loop 
     } // End Main Loop   
    cout << "Thank you for playing!" << "\n\n"; 
    system("pause"); 
    return 0; 
} 
+1

找出問題的最簡單方法是逐行調試代碼。 –

+0

歡迎來到StackOverflow!這是我們需要查看的太多代碼。只發布與您的問題相關的代碼。 –

+0

爲什麼你需要5個不同的變量來回答你是否想回到主菜單? – Barmar

回答

1

可能是因爲你定義menu .. menu5int。嘗試:

char menu = 'y'; 
char menu2 = 'n'; 
char menu3 = 'n'; 
char menu4 = 'n'; 
char menu5 = 'n'; 
.... 
相關問題