Q:

My hangman art wont print in the correct order

I'm new at coding, but I was able to figure out a code for hangman. I'm pretty sure the art is redundant in the way I coded it, but the real problem I have is that the code won't print the right picture at the right time, as in when they have a certain number of wrong guesses a certain picture is supposed to print.

#include <iostream>
using namespace std;

int main() 
{
        beginning:
        int num_guesses = 6;
        string word;
        string guess;
        string player1, player2;

        cout << "Hello! Welcome to Hangman! \n";
        cout << "PLAYER 1, Please Enter Your Name: \n"; 
        cin >> player1;
        cout << player1 << ", Please input a word for Player 2 to guess" << endl;//PLAYER 1 inputs the word to be guessed
        cin >> word;    

        cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
        cout << "PLAYER 2, Please Enter Your Name: \n"; //PLAYER 2 will be attempting to guess PLAYER 1's word
        cin >> player2;

        string hidden_word(word.length(),'~');//User word will be replaced by ~
        cout << hidden_word << endl;

        cout << " ________   " << endl;//This is the beginning statement that includes that state of the hangman.
        cout << " |       |  " << endl;
        cout << " |          " << endl;
        cout << " |          " << endl;
        cout << " |          " << endl;
        cout << " |          " << endl;
        cout << "------------" << endl; 
        cout << "" << endl;
        cout << "There are " << hidden_word.length() << " letters ";
        cout << player2 << ", you have " << num_guesses << " tries left" << endl;

        // This loop will execute while the number of guesses is greater than 0.
        // The ~ variable doesn't store the word
        while (num_guesses > 0 && hidden_word != word) 
        {
            cout << hidden_word << endl;
            cout << num_guesses << " incorrect guesses left. " << endl;
            cout << "Guess: ";
            cin >> guess;

            // Determines if the guess is more than one character.
            if (guess.length() > 1) 
            {
                cout << "That is more than one character.";
                cout << "" << endl;
            }

            // Determines if the guess is a lowercase letter.
            else if (guess[0] > 'z' || guess[0] < 'a') 
            {
                cout << "Your guess must be a lowercase letter. " << endl;
                cout << "" << endl;
            }

            // First, the program finds the guess in the word. If it is found, the ~ at which PLayer2 guess occurs will be replaced with Player2 guess. Otherwise, the number of guesses will decrement by 1.
            else 
            {
                size_t index_found = word.find(guess);
                if (index_found != string::npos) 
                {
                    for (int i = 0; i < word.length(); i++) 
                    {
                        if (word[i] == guess[0]) 
                        {
                            hidden_word[i] = guess[0];
                        }
                    }
                    cout << "Correct!" << endl;
                    cout << "" << endl;
                    int pic = num_guesses;  
                    if (pic == 6)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl; 
                    }
                    else if (pic == 5)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl; 
                    }
                    else if (pic == 4)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |       |  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 3)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 2)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 1)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |      /   " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 0)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |      / \ " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }   
                } 
                else 
                {
                    cout << "Incorrect!" << endl;
                    cout << "" << endl;
                    num_guesses = num_guesses - 1;
                    int pic = num_guesses;  
                    if (pic == 6)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl; 
                    }
                    else if (pic == 5)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl; 
                    }
                    else if (pic == 4)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |       |  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 3)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|  " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 2)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |          " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 1)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |      /   " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                    else if (pic == 0)
                    {
                        cout << " ________   " << endl;
                        cout << " |       |  " << endl;
                        cout << " |       0  " << endl;
                        cout << " |      /|\ " << endl;
                        cout << " |      / \ " << endl;
                        cout << " |          " << endl;
                        cout << "------------" << endl;
                    }
                }
            }
        }

        // Determines whether the player lost or won. User word will be printed win or lose and the users will be asked if they want to play again.
        if (hidden_word == word) 
        {
            string answer;
            cout << "You win!" << endl;
            cout << "The word was: " << word << endl;
            cout << "Do you wish to play again? Y/N" << endl;
            cin >> answer;
            if (answer == "Y" || answer == "y")
            {
                goto beginning;
            }
            else
            {
                return 0;
            }
        } 
        else 
        {
            string answer;
            cout << "You lose." << endl;
            cout << "The word was: " << word << endl;
            cout << "Do you wish to play again? Y/N" << endl;
            cin >> answer;
            if (answer == "y" || answer == "Y")
            {
                goto beginning;
            }
            else
            {
                return 0;
            }
        }
}

A:

Using some functions, I was able to get your program down to just 190 lines. Look at the code and how I chose to print the hangman. Here's the code:
#include <iostream>       // std::cout, std::cin, std::endl
#include <string>         // std::string
#include <unordered_set>  // std::unordered_set

// You shouldn't use this, but it will make the code easier to follow here
using namespace std;

/**
 Lets player 1 enter a word for player 2 to guess

 @returns The word that player 1 entered
*/
string getWord();

/**
 Prints the hangman

 @param wrong_guesses The number of wrong guesses
*/
void print_hangman(unsigned int wrong_guess);

/**
 Clears the console (OS-specific)
*/
void clear_screen();

int main()
{
    unsigned int wrong_guesses;
    string guess;
    string hidden_word;
    unordered_set<string> guessed_letters;

    bool playAgain = true;

    do
    { // "Play again" loop

        // Starting new game, so reset variables
        wrong_guesses = 0;
        guess.clear();
        hidden_word = getWord();
        guessed_letters.clear();

        bool first_loop = true;
        while (guess != hidden_word && wrong_guesses <= 6)
        { // Single-game loop
            clear_screen();
            print_hangman(wrong_guesses);

            cout << "Player 2, guess a letter or word: ";
            cin >> guess;

            if (guessed_letters.find(guess) != guessed_letters.end())
            { // Player guessed something they already had
                cout 
                    << "You've already guess that! Enter something else..."
                    << endl;
            }
            else
            { // Player guessed either correctly or wrong
                wrong_guesses++;  // Add 1 to wrong_guesses
            }
        }

        // Loop is exited, so the player either won or lost
        if (guess == hidden_word)
        {
            cout << "Congrats! You won!" << endl;
        }
        else
        {
            cout << "Shame... You lost. Better luck next time!" << endl;
        }

        char yn;
        cout << "Play again? [Y/N]: ";
        cin >> yn;

        if (yn == 'n' || yn == 'N')
        {
            playAgain = false;
        }

    } while (playAgain);
}

string getWord()
{
    string word;
    bool isCorrect = false;

    clear_screen();
    cout 
        << "Below, player 1 can enter the word they'd like\n"
        << "player 2 to guess. Do not use spaces."
        << endl;

    do
    { // Input validation loop
        cout << "Word: ";
        cin >> word;
        cout << "\nIs \"" << word << "\" correct? [Y/N]: ";

        char yn;
        cin >> yn;
        if (yn == 'y' || yn == 'Y')
        {
            isCorrect = true;
        }
        else
        {
            cout << endl;
            cin.ignore(10000, '\n');
        }

    } while (!isCorrect);

    return word;
}

void print_hangman(unsigned int wrong_guesses)
{
    // Default board
    std::vector<string> hangman
    {
        //      789
        "           ",  // (Pos 0)
        " --------  ",  // (Pos 1)
        " |      |  ",  // (Pos 2)
        " |         ",  // (Pos 3) (Head)
        " |         ",  // (Pos 4) (Body and arms)
        " |         ",  // (Pos 5) (Legs)
        " |         ",  // (Pos 6)
        "-----------"   // (Pos 7)
    };

    if (wrong_guesses > 0)
    { // Place head
        hangman.at(3).at(8) = 'O';

        if (wrong_guesses > 1)
        { // Place body
            hangman.at(4).at(8) = '|';

            if (wrong_guesses > 2)
            { // Place arm 1
                hangman.at(4).at(7) = '/';

                if (wrong_guesses > 3)
                { // Place arm 2
                    hangman.at(4).at(9) = '\\';

                    if (wrong_guesses > 4)
                    { // Place leg 1
                        hangman.at(5).at(7) = '/';
                        hangman.at(5).at(8) = '-';

                        if (wrong_guesses > 5)
                        { // Place leg 2
                            hangman.at(5).at(9) = '\\';
                        }
                    }
                }
            }
        }
    }

    // Print hangman
    for (const auto& line : hangman)
    {
        cout << line << endl;
    }
}

#ifdef _WIN32
inline void clear_screen()
{
    system("cls");
}
#else // Assuming Unix
inline void clear_screen()
{
    system("tput clear");
}
#endif // _WIN32

