I'm trying to write a Euro/USD converter. I'm brand new to programming and c++. I don't know what I did wrong. I don't have any errors, but whenever I don't type the string im checking for the 

```cpp
std::cout << "Invalid. Please type Euros or USD. No stupid weird CAPS." << std::endl;

```

doesn't display.

Here's the full code:

```cpp
#include <iostream>
#include <limits>

int main() {
    while (true) {

        // Used later when validating user input.
        full_restart:

        // Initial convert selector:
        std::cout << "What currency do you want to convert? Euros or USD?\nPlease type Euros or USD:" << std::endl;
        std::string currency_type{"hello"};
        restart:
        std::cin >> currency_type;

        // Validating user input:
        while (true) {
            if (std::cin.fail()) {
                std::cin.clear();
                std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                std::cout << "Invalid. Please type Euros or USD. No stupid weird CAPS." << std::endl;
                goto restart;
            } else if (!std::cin.fail()) {
                break;
            }
        }

        if (currency_type == "euros" || currency_type == "Euros" || currency_type == "EUROS") {
            std::cout << "How many Euros do you want to convert to USD?\nEnter the number: " << std::endl;
            double euro_amount_to_convert{0};
            euro_restart:
            std::cin >> euro_amount_to_convert;
            while (true) {
                if (std::cin.fail()) {
                    std::cin.clear();
                    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                    std::cout << "Invalid. Please enter either Integer or Decimal." << std::endl;
                    goto euro_restart;
                } else if (!std::cin.fail()) {
                    break;
                }
            }
            double euros_converted_to_usd = euro_amount_to_convert * 1.11237;
            std::cout << euro_amount_to_convert << " euros equals " << euros_converted_to_usd << " USD." << std::endl;

            std::cout << "Would you like to convert another currency?\nPlease type 'Y' or 'N'" << std::endl;
            char go_again{'a'};
            std::cin >> go_again;

            euro_convert_again:
            std::cout << "Would you still like to convert another currency?\nPlease type 'Y' or 'N'" << std::endl;
            std::cin >> go_again;

            while (true) {
                if (std::cin.fail()) {
                    std::cin.clear();
                    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                    std::cout << "Invalid input." << std::endl;
                    goto euro_convert_again;
                } else if (!std::cin.fail()) {
                    break;
                }
            }

            if (go_again == 'Y' || go_again == 'y') {
                goto full_restart;
            } else if (go_again == 'N' || go_again == 'n') {
                break;
            }
        }

        if (currency_type == "usd" || currency_type == "Usd" || currency_type == "USD") {
            std::cout << "How many USD do you want to convert to Euros?\nEnter the number: " << std::endl;
            double usd_amount_to_convert{0};
            usd_restart:
            std::cin >> usd_amount_to_convert;
            while (true) {
                if (std::cin.fail()) {
                    std::cin.clear();
                    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                    std::cout << "Invalid. Please enter either Integer or Decimal." << std::endl;
                    goto usd_restart;
                } else if (!std::cin.fail()) {
                    break;
                }
            }
            double usd_converted_to_euros = usd_amount_to_convert * 1.11237;
            std::cout << usd_amount_to_convert << " USD equals " << usd_converted_to_euros << " Euros." << std::endl;

            std::cout << "Would you like to convert another currency?\nPlease type 'Y' or 'N'" << std::endl;
            char go_again{'a'};
            std::cin >> go_again;

            usd_convert_again:
            std::cout << "Do you still want to convert another currency?\nPlease type 'Y' or 'N'" << std::endl;
            std::cin >> go_again;

            while (true) {
                if (std::cin.fail()) {
                    std::cin.clear();
                    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                    std::cout << "Invalid input." << std::endl;
                    goto usd_convert_again;
                } else if (!std::cin.fail()) {
                    break;
                }
            }

            if (go_again == 'Y' || go_again == 'y') {
                goto full_restart;
            } else if (go_again == 'N' || go_again == 'n') {
                break;
            }
        }
    }
    std::cout << std::endl;
    return 0;
}

```

Also, I'm aware there are probably many better ways to do this, this is just practice for me. I'm pretty sure it's the loops since this is the first time I've used them.