Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Coded in C++; Visual Studio 2013; Please help. Write a program that will prompt

ID: 3783851 • Letter: C

Question

Coded in C++; Visual Studio 2013; Please help.

Write a program that will prompt the user for a valid date. You do not have to validate the month, day and year. Then using bitwise operators, combine the 3 values within a function to form a single integer date. Then set the month, day and year variables to zero and write a second function that will extract the month, day, and year from the integer date. Display the integer date and the extracted values in the main function, no output in the functions. Your functions should look like the following calls. date = compressDate(m, d, y); extractDate(date, m, d, y); The masks you will need for the assignment are int daymask = 63; int monthmask = 15; int yearmask = 4095; A sample run of you program will resemble the following. User Input is bolded. Enter a date (may): 1 25 2016 The ccmpre33ed date is: 2064473 The extracted dare is: 1/25/2016

Explanation / Answer

#include<iostream>

using namespace std ;

void print24(int &d , int &m, int &y);

bool valid (int &d , int &m , int & y);

void corrected (int & d , int & m , int & y);

int main()

{

    int day , month , year ;

cout<<"Enter Date between 1/1//2000 to 30/12//2014 in format <D M Y>" << endl ;

cin>>day>>month>>year ;

cout<<"Date Entered : ";

print24(day ,month , year);

cout<<endl ;

if(valid( day , month , year))

{

    cout<<"You Entered Valid Date :";

    print24(day ,month , year);

}

else

{

    cout<<endl<<"You Entered inValid Date ! "<<endl;

    cout<<"Corrected Date is : ";

corrected (day , month , year);

}

}

void print24(int &d , int &m , int & y)

{

cout<<d<<"/"<<m<<"/"<<y;

}

bool valid (int &d , int &m , int & y)

{

if (d<=30 && d >=1 && m <=12 && m>=1 && y>=2000 && y<=2015)

return true ;

else

return false ;

}

void corrected (int &d , int &m , int &y)

{

if(d<1)

    {

    d=1 ;

    if(m<1)

    {

        m=1;

        if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

        else

      {

            y=y ;

            print24(d ,m , y);

        }

    }

    else if(m>12)

    {

        m=12 ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    else

    {

        m=m ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    }

///////////////////////////////////////////////////////////////////////////////////////    

     else if(d>30)

    {

    d=30 ;

    if(m<1)

    {

        m=1;

        if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

        else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    else if(m>12)

    {

        m=12 ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    else

    {

        m=m ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    }

///////////////////////////////////////////////////////////////////////////////////

    else

    {

        d=d ;

    if(m<1)

    {

        m=1;

        if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

        else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    else if(m>12)

    {

        m=12 ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    else

    {

        m=m ;

            if(y<2000)

        {

            y=2000;

            print24(d ,m , y);

        }

        else if(y>2015)

        {

            y=2015 ;

            print24(d ,m , y);

        }

            else

        {

            y=y ;

            print24(d ,m , y);

        }

    }

    }

    }