// Weekday calculator
#include <iostream>
#include <ctime>
#include <string>
using namespace std;

int main()
{
  time_t t;
  struct tm * timeinfo;
  int year, month ,day;
  string weekday[] = { "Sunday", "Monday",
                       "Tuesday", "Wednesday",
                       "Thursday", "Friday", "Saturday"};

  // prompt user for date
  cout << "Enter  year: "; cin >> year;
  cout << "Enter month: "; cin >> month;
  cout << "Enter   day: "; cin >> day;

  // get current timeinfo and modify it to user's choice
  t = time(NULL);
  timeinfo = localtime(&t);
  timeinfo->tm_year = year - 1900;
  timeinfo->tm_mon  = month - 1;
  timeinfo->tm_mday = day;

  // call mktime: timeinfo->tm_wday will be set
  mktime(timeinfo);

  cout << "That day is a " << weekday[timeinfo->tm_wday] << endl;

  return 0;
}
