lundi 1 mai 2017

receiving invalid i/o for valid input in zodiac determiner

I'm a beginner coder and i'm working on a project that determines horoscope.

The problem: All of my dates accurately determine horoscope based on the month and date entered by user except for May Gemini dates. I get invalid input for any dates entered between May 21 - May 31. I've tried rewriting the case but there's still a problem.

If anyone can see something that I don't and let me know, I'd be extremely grateful. Thanks!

switch (month) {

    case 1:
        if (month == 12 && day >= 22 && day <= 31)
            zodiac = "Capricorn";
        else if (month == 01 && day < 20)
            zodiac = "Capricorn";
        else
            zodiac = "Invalid Input";
        break;
    case 2:
        if (month == 1 && day >= 20 && day < 32)
            zodiac = "Aquarius";
        else if (month == 2 && day < 19)
            zodiac = "Aquarius";
        else
            zodiac = "Invalid Input";
        break;
    case 3:
        if (month == 2 && day >= 19 && day <= 29)
            zodiac = "Pisces";
        else if (month == 3 && day < 21)
            zodiac = "Pisces";
        else
            zodiac = "Invalid Input";
        break;
    case 4:
        if (month == 3 && day >= 21 && day < 32)
            zodiac = "Aries";
        else if (month == 4 && day < 20)
            zodiac = "Aries";
        else
            zodiac = "Invalid Input";
        break;
    case 5:
        if (month == 4 && day >= 20 && day < 31)
            zodiac = "Taurus";
        else if (month == 5 && day < 21)
            zodiac = "Taurus";
        else
            zodiac = "Invalid Input";
        break;
    case 6:
        if (month == 5 && day >= 21 && day < 32)
            zodiac = "Gemini";
        else if (month == 6 && day < 21)
            zodiac = "Gemini";
        else
            zodiac = "Invalid Input";
        break;
    case 7:
        if (month == 6 && day >= 21 && day < 31)
            zodiac = "Cancer";
        else if (month == 7 && day < 23)
            zodiac = "Cancer";
        else
            zodiac = "Invalid Input";
        break;
    case 8:
        if (month == 7 && day >= 23 && day < 32)
            zodiac = "Leo";
        else if (month == 8 && day < 23)
            zodiac = "Leo";
        else
            zodiac = "Invalid Input";
        break;
    case 9:
        if (month == 8 && day >= 23 && day < 32)
            zodiac = "Virgo";
        else if (month == 9 && day < 23)
            zodiac = "Virgo";
        else
            zodiac = "Invalid Input";
        break;
    case 10:
        if (month == 9 && day >= 23 && day < 31)
            zodiac = "Libra";
        else if (month == 10 && day < 23)
            zodiac = "Libra";
        else
            zodiac = "Invalid Input";
        break;
    case 11:
        if (month == 10 && day >= 23 && day < 32)
            zodiac = "Scorpio";
        else if (month == 11 && day < 22)
            zodiac = "Scorpio";
        else
            zodiac = "Invalid Input";
        break;
    case 12:
        if (month == 11 && day >= 22 && day < 31)
            zodiac = "Sagittarius";
        else if (month == 12 && day < 22)
            zodiac = "Sagittarius";
        else
            zodiac = "Invalid Input";
        break;

Aucun commentaire:

Enregistrer un commentaire