brtunately, change ans that itS to objects from input file, since it doesn't work if a user enters Date::jan. Write a toMonth function that can be used to enter a month as an integer. Throw invalid_argument if it fails. |Month m = toMonth(3); // returns Month:: mar udts.cpp 1 #include 2 #include 3 #include "date.h" 4 using namespace std; 5 6 /** Construct a valid Month. 7 @param mm the month in the range 1-12 @exception throw invalid_argument if out of range. @return the correct Month. 9 10 11 */ 12 Month toMonth(int mm) 13 { 14 15 16 17 } Demo.cpp 1 #include 2 #include 3 #include "date.h" 4 using namespace std; 5 6 int main() cout « "Enter date as mm/dd/yyyy: "; int mm, dd, yyyy; char slash; cin » mm » slash » dd » slash » yyyy; 9 10 11 12 13 try { Date d = makeDate (toMonth(mm), dd, yyyy); cout « "The date is " « d « endl; 14 15 16 17 18 catch (invalid_argument& e) { cout « e.what () « endl; 19 20 21
brtunately, change ans that itS to objects from input file, since it doesn't work if a user enters Date::jan. Write a toMonth function that can be used to enter a month as an integer. Throw invalid_argument if it fails. |Month m = toMonth(3); // returns Month:: mar udts.cpp 1 #include 2 #include 3 #include "date.h" 4 using namespace std; 5 6 /** Construct a valid Month. 7 @param mm the month in the range 1-12 @exception throw invalid_argument if out of range. @return the correct Month. 9 10 11 */ 12 Month toMonth(int mm) 13 { 14 15 16 17 } Demo.cpp 1 #include 2 #include 3 #include "date.h" 4 using namespace std; 5 6 int main() cout « "Enter date as mm/dd/yyyy: "; int mm, dd, yyyy; char slash; cin » mm » slash » dd » slash » yyyy; 9 10 11 12 13 try { Date d = makeDate (toMonth(mm), dd, yyyy); cout « "The date is " « d « endl; 14 15 16 17 18 catch (invalid_argument& e) { cout « e.what () « endl; 19 20 21
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question

Transcribed Image Text:Unfortunately, the change from int to Month means that it's harder to read Date objects from an
input file, since it doesn't work if a user enters Date::jan. Write a toMonth function that can be
used to enter a month as an integer. Throw invalid_argument if it fails.
Month m = toMonth (3); // returns Month::mar
udts.cpp
1 #include <string>
2 #include <stdexcept>
3 #include "date.h"
using namespace std;
4
6.
/**
Construct a valid Month.
7
8.
@param mm the month in the range 1-12
9.
@exception throw invalid_argument if out of range.
@return the correct Month.
10
11
*/
Month toMonth(int mm)
{
12
13
14
15
16
17 }
Demo.cpp
1 #include <iostream>
2 #include <string>
3 #include "date.h"
4 using namespace std;
5
6
int main()
7 {
cout « "Enter date as mm/dd/yyyy: ";
int mm, dd, yyyy;
char slash;
cin >> mm >> slash » dd >> slash » yyyy;
8
10
11
12
13
try
{
Date d = makeDate (toMonth(mm), dd, yyyy);
cout <« "The date is " << d << endl;
}
catch (invalid_argument& e)
{
cout « e.what() « endl;
}
14
15
16
17
18
19
20
21
22 }
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education