/*********************************************
Days Past
This program reads a start date and an end date
from the user, and prints out the number of
days ellapsed between the two.
The key to the problem is to write a function
"monthread()" that reads a month from the user
and returns the number of days from New Year's
to the beginning of that month.
*********************************************/
#include <iostream>
#include <string>
using namespace std;
int monthread();
/*********************************************
** main() functions
*********************************************/
int main()
{
int a, ds, df;
// Get # of days from New Year's to start
cout << "Enter start date (e.g. 27 Mar): ";
cin >> a;
ds = a + monthread();
// Get # of days from New Year's to finish
cout << "Enter ending date (e.g. 13 Jul): ";
cin >> a;
df = a + monthread();
// Print out number of days in between
cout << "That lasted " << df - ds << " days. "
<< "Or " << df - ds + 1 << " depending on "
<< "how you count."
<< endl;
return 0;
}
/*********************************************
** Reads a month and returns the number of
** days from New Year's to that month
*********************************************/
int monthread()
{
// Read in the
string M;
cin >> M;
// Get # of days from month
int d;
if (M == "Jan")
d = 0;
else if (M == "Feb")
d = 31;
else if (M == "Mar")
d = 59;
else if (M == "Apr")
d = 90;
else if (M == "May")
d = 120;
else if (M == "Jun")
d = 151;
else if (M == "Jul")
d = 181;
else if (M == "Aug")
d = 212;
else if (M == "Sep")
d = 243;
else if (M == "Oct")
d = 273;
else if (M == "Nov")
d = 304;
else
d = 334;
return d;
}