vendredi 18 mars 2016

Doubling and tripling digits in an integer

I need to make a program that receives an integer from the user. With that integer, the program needs to determine whether the integer is even or odd, and if it is even, each of the digits should be tripled, whereas if it is odd, each of the integers should be doubled. The program should then ask if you want to input another integer, and the process will repeat.

I wrote the code and it seems like it should work, but for some reason when i input an integer, that is just it. nothing else happens and nothing else is printed out. I can just keep typing whatever I want. I don't really know why that is happening.

    #include <iostream>
    using namespace std;

    int main()
    {
        int integer;
        int number;
        int newNumber;
        int digits;
        int remainder;
        string y;
        string n;
        string answer;

        cout << "Enter an integer: " << endl;
        cin >> integer;

        remainder = integer % 2;

        if (remainder == 0)
        {
            number = integer % 10;
            newNumber = integer/10;
            while (newNumber > 0)
            {
                number = integer % 10;
                newNumber = integer/10;
                digits = (number*10+number)*10+number;
            }
        }
        else if (remainder == 1)
        {
            number = integer % 10;
            newNumber = integer/10;
            while (newNumber > 0)
            {
                number = integer % 10;
                newNumber = integer/10;
                digits = (number*10+number);
            }
        }
        cout << "Would you like to enter another integer? (y/n): " << endl;
        cin >> answer;

        while (answer == "y")
        {
            cout << "Enter an integer: " << endl;
            cin >> integer;

            remainder = integer % 2;

            if (remainder == 0)
            {
                number = integer % 10;
                newNumber = integer/10;
                while (newNumber > 0)
                {
                    number = integer % 10;
                    newNumber = integer/10;
                    digits = (number*10+number)*10+number;
                }
            }
            else if (remainder == 1)
            {
                number = integer % 10;
                newNumber = integer/10;
                while (newNumber > 0)
                {
                    number = integer % 10;
                    newNumber = integer/10;
                    digits = (number*10+number);
                }
            }
        cout << "Result: "<<digits<<endl;
        cout << "Would you like to enter another integer? (y/n): " << endl;
        cin >> answer;
        }
    return 0;
    }

Aucun commentaire:

Enregistrer un commentaire