Consider this Date type. Write a factory function to create a date. Throw invalid_argument indicating which part of the date is invalid. You may use the predefined isLeapYear function in your code. struct Date { int day, month, year; }; udts.cpp 1 Finclude string 2 Finclude stdexcept 3 Finclude "date.h 4 using nanespace std; 6 ** Construct a valid Date object. Oparan n the nonth in the range 1-12 Oparan d the day in the range 1-31 (check for leap year) Oparan y the year in the range 1582-2099 gexception throw invalid argunent if out of range. greturn the constructed Date object. 10 11 12 13 / 14 Date nakebate(int n, int d, int y) 15 ( 16 cout « "hi"; 17 18 19 ) Demo.cpp 1 Finclude

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Please help and explain, I don't understand. In C++ please, 2nd image is the expected output where it says Exepcted for the column

Consider this Date type. Write a factory function to create a date. Throw invalid_argument
indicating which part of the date is invalid. You may use the predefined isLeapYear function in
your code.
struct Date {
int day, month, year;
};
udts.cpp
1 Finclude <string>
#include <stdexcept>
3 include "date.h"
4 using nanespace std;
2
Construct a valid Date object.
eparan n the nonth in the range 1-12
eparan d the day in the range 1-31 (check for leap year)
éparan y the year in the range 1582-2099
Gexception throw invalid argunent if out of range.
ereturn the constructed Date object.
8
10
11
12
13
Date nakeDate(int n, int d, int y)
14
15
16
cout <« "hi":
17
18
19
Demo.cpp
1 finclude <iostrean>
Winclude <string
3 include "date.h
4 using nanespace std;
2
int nain()
cout « "Enter date as m/dd/yyyy: *;
int mm, dd, yyy:
char slash;
cin » m >> slash >> dd » slash > yyyy:
10
11
12
13
try
14
Date d = nakeDate(m, dd, yyyy):
cout « "The date is " «d « endl;
15
16
17
catch (invalid argunents e)
{
18
19
20
cout « e.what() « endl;
21
22
date.cpp
Transcribed Image Text:Consider this Date type. Write a factory function to create a date. Throw invalid_argument indicating which part of the date is invalid. You may use the predefined isLeapYear function in your code. struct Date { int day, month, year; }; udts.cpp 1 Finclude <string> #include <stdexcept> 3 include "date.h" 4 using nanespace std; 2 Construct a valid Date object. eparan n the nonth in the range 1-12 eparan d the day in the range 1-31 (check for leap year) éparan y the year in the range 1582-2099 Gexception throw invalid argunent if out of range. ereturn the constructed Date object. 8 10 11 12 13 Date nakeDate(int n, int d, int y) 14 15 16 cout <« "hi": 17 18 19 Demo.cpp 1 finclude <iostrean> Winclude <string 3 include "date.h 4 using nanespace std; 2 int nain() cout « "Enter date as m/dd/yyyy: *; int mm, dd, yyy: char slash; cin » m >> slash >> dd » slash > yyyy: 10 11 12 13 try 14 Date d = nakeDate(m, dd, yyyy): cout « "The date is " «d « endl; 15 16 17 catch (invalid argunents e) { 18 19 20 cout « e.what() « endl; 21 22 date.cpp
Testing Demo.cpp
Test 1
Input:
| 3/15/1625
Actual
Expected
| Enter date as mm/dd/yyyy: hiThe date is 10801/-364043776/1390521408
| Enter date as mm/dd/yyy: The date is 03/15/1625
fail
Test 2
Input:
2/29/1900
Actual
Еxpected
Enter date as mm/dd/yyyy: hiThe date is 10802/45314560/-1201968064
| Enter date as mm/dd/yyyy: day (29) out of range
fail
Test 3
Input:
2/29/2000
Actual
Еxpected
Enter date as mm/dd/yyyy: hiThe date is 10696/-593419776/922098752
Enter date as mm/dd/yyyy: The date is 02/29/2000
fail
Test 4
Transcribed Image Text:Testing Demo.cpp Test 1 Input: | 3/15/1625 Actual Expected | Enter date as mm/dd/yyyy: hiThe date is 10801/-364043776/1390521408 | Enter date as mm/dd/yyy: The date is 03/15/1625 fail Test 2 Input: 2/29/1900 Actual Еxpected Enter date as mm/dd/yyyy: hiThe date is 10802/45314560/-1201968064 | Enter date as mm/dd/yyyy: day (29) out of range fail Test 3 Input: 2/29/2000 Actual Еxpected Enter date as mm/dd/yyyy: hiThe date is 10696/-593419776/922098752 Enter date as mm/dd/yyyy: The date is 02/29/2000 fail Test 4
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY