1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Marina86 [1]
3 years ago
10

Write a program that prompts the user to enter a person's date of birth in numeric form such as 8-27-1980. The program then outp

uts the date of birth in the form: August 27, 1980. Your program must contain at least two exception classes: invalidDay and invalidMonth. If the user enters an invalid value for day, then the program should throw and catch an invalidDay object. Similar conventions for the invalid values of month and year. (Note that your program must handle a leap year.)
Computers and Technology
1 answer:
Oksi-84 [34.3K]3 years ago
7 0

Answer:

The program to this question can be given as:

Program:

//define header file.

#include<iostream>

#include<string>

using namespace std;

class invalidDay              //define class.

{

string msg;                   //define variable as private.

public:

invalidDay()               //constructor.

{

msg="Day input is wrong";            

}

void showException()           //define function.

{

cout<<msg<<endl;

}

};

class invalidMonth              //define class.

{

string msg;             //define variable as private.

public:

invalidMonth()              //constructor.

{

msg="Month input is wrong";

}

void showException()           //define function.

{

cout<<msg<<endl;

}

};

class leapYear           //define class            

{

string msg;         //define variable as private.

public:

leapYear()                  //define constructor

{

msg="year input is wrong";

}

void showException()         //define function.

{

cout<<msg<<endl;

}

};

void read_date(int &day,int &month,int &year);         //declaration of function.

void read_date(int &d,int &m,int &y)                 //defination of function.

{    

  //function body.

cout<<"Enter day"<<endl;

cin>>d;

if(d<=0 ||d>31)

throw invalidDay();               //Exception.

cout<<"Enter month"<<endl;

cin>>m;

if(m<=0 ||m>=13)

throw invalidMonth();

cout<<"Enter year"<<endl;

cin>>y;

if(y%400==0||(y!=100&&y%4==0))

if(d>=30)

throw leapYear();

}

int main()                     //main function

{

   //define variable

int day,month,year;                  

string months[12]={"January","February","March",            

"April","May","June","July","August","September",

"October","November","December"};

//Exception handling.

try                               //try block

{

read_date(day,month,year);

cout<<"Date of Birth "<<months[month-1]<<" "<<day<<","<<year;

}  

//catch bolck.

catch(invalidDay id)

{

id.showException();

}

catch(invalidMonth im)

{

im.showException();

}

catch(leapYear ly)

{

ly.showException();

}

return 0;

}

Output:

Enter day

12

Enter month

12

Enter year

2019

Date of Birth December 12,2019.

Explanation:

In the above program firstly we define 3 class that is invalidDay, invalidMonth, and leapYear. In these classes, we define a method, variable, and constructor, and in the constructor, we holding the value of the msg(variable). Then we define a function that is read_data. This function collects all values from the user and throws into leap year function. In the last, we define the main function this function used exception handling. In the exception handling, we use multiple catch block with try block. After handling all the exception we called all function of the class.

You might be interested in
The presentation ____ determines the formatting characteristics of fonts and colors.
leonid [27]
The presentation theme determines the formatting characteristics of fonts and colors.
6 0
4 years ago
Read 2 more answers
A merge is _____.
Aliun [14]
The process of combining information from a variety of sources
7 0
3 years ago
Read 2 more answers
In 4-bit two's complement representation, what is the binary encoding of the number -5?
Katena32 [7]

Answer:

a) 1011

Explanation:

In 4 bit two's complement representation, the first bit is the sign bit.

If the sign bit is 1, the number is negative.

If the sign bit is 0, the number is positive.

What is the magnitude of the sign bit?

In n-bit two's complement representation, the magnitude of the sign bit is:

2^{n-1}-1

So, in 4-bit two's complement representation, the magnitude of the sign bit is:

2^{4-1}-1 = 8

Since the number is negative, the value of this bit is -8.

The other bits are magnitude bits, positive.

We have that the sum of these bits must be -5, and we already have -8. So what should be the value of these last 3 bits?

First, i am going to solve this equation to find the decimal value of the last three bits.

-5 = -8 + x

x = 3

So, the last three bits are:

3_{10} = (011)_{2}

The binary encoding of the number -5 is:

a) 1011

5 0
3 years ago
All the employees of Delta Corporation are unable to access the files stored in the server. What do you think is the reason behi
CaHeK987 [17]
C serve crash hope this is correct
5 0
3 years ago
What does the domain in an email message mean?
Zina [86]
The correct answer to this question is letter "C. type of service provider."

Here are the following choices:
<span>A. subject matter of the message.
B. type of software being used.
C. type of service provider.
D. location of the destination</span>
8 0
3 years ago
Other questions:
  • Whichof the following is not a standard method called as part of the JSPlife cycle?jspInit()jspService()_jspService()jspDestroy(
    12·1 answer
  • Temporary storage location for cutting and pasting
    9·1 answer
  • Whats the difference between search engine and web browser?
    6·2 answers
  • Need help ASPA!!!!!!!!!
    9·2 answers
  • What is a special type of variable used in subroutines that refers to a piece of data?
    15·1 answer
  • Choose the answer. Janice's IT department found that her computer had a program on it that was collecting her personal informati
    5·1 answer
  • What does NOT match with Agile Manifesto?
    9·1 answer
  • Anyone know how to fix black screen of death on computer​
    6·1 answer
  • Write an assembly code to implement the y=(x1+x2)*(x3+x4) expression on 2-address machine, and then display the value of y on th
    7·1 answer
  • When patel’s advertising co. decided to upgrade its computer network, many people were involved in the decision. In b2b buying s
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!