Newb to C++ needs help

Discussion in 'C++' started by danieldan, Jul 25, 2008.

  1. danieldan

    danieldan New Member

    Joined:
    Jul 25, 2008
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    hello all! I'm a beginner to programming and am currently working on learning C++ program. I bought a book titled "Problem Solving with C++, 7th ed." by Walter Savitch but am stuck with a C++ problem (not in the book).

    I'm trying to make my conditions program figure out how many days there are in a month; it also figures for leap year. The leap year part works, but I cannot make the rest to work out properly. If I enter anything other than 2 (for Feb), it will not end properly. It will give the right days of the month but will not end properly.

    Can anyone help me out with my code??? Here is the code:
    ====================

    Code:
    #include <iostream>  
    using namespace std;  
    int main()  
    {  
        int Month_Number, Year;  
      
        cout << "Enter a number matching the month \n";  
        cout << "of the year, then press return\n";  
        cin >> Month_Number;  
        cout << " \n";  
        {  
      
        if ( Month_Number == 1)  
            cout << "The month has 31 days,\n";  
        else if ( Month_Number == 3)  
            cout << "The month only has 31 days.\n";  
        else if ( Month_Number == 4)  
            cout << "The month only has 30 days.\n";    
        else if ( Month_Number == 5)  
            cout << "The month only has 31 days.\n";  
        else if ( Month_Number == 6)  
            cout << "The month only has 30 days.\n";    
        else if ( Month_Number == 7)  
            cout << "The month only has 31 days.\n";  
        else if ( Month_Number == 8)  
            cout << "The month only has 31 days.\n";    
        else if ( Month_Number == 9)  
            cout << "The month only has 30 days.\n";  
        else if ( Month_Number == 10)  
            cout << "The month only has 31 days.\n";    
        else if ( Month_Number == 11)  
            cout << "The month only has 30 days.\n";  
        else if ( Month_Number == 12)  
            cout << "The month only has 31 days.\n";  
        }  
      
        if (Month_Number == 2)  
            cout << "Please enter the year.\n";             
            cin >> Year;  
            if (Year % 4 == 0)            
                cout << "February has 29 days. This is a Leap year\n";              
            else                  
                cout << "February has 28 days. \n";  
          
        system("pause");  
      
        return 0;  
    }
     
    Last edited by a moderator: Jul 25, 2008
  2. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    You haven't said what "doesn't end properly" means, but I guess you're puzzled why it prompts you for the year without printing "Please enter the year." Or you're assuming that the prompt is some kind of hang.

    See if you can see what's missing between "if (Month_Number == 2)" and "cout << "Please enter the year.\n";", and after "cout << "February has 28 days. \n";" Clue: you have unnecessary ones around your if/else if ladder. If you need another clue, have you been Python programming as well recently?
     
  3. sofprog66

    sofprog66 New Member

    Joined:
    Jul 8, 2008
    Messages:
    29
    Likes Received:
    0
    Trophy Points:
    0
    I would recommend using a switch statement because all of the if statements can get real messy.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice