Tuesday, December 2, 2014

C++ using in Calendar Pro



Calendar
 
#include 
#include
#include 
#include 
typedef int bool;
char whatday (int); 
bool isleapyear (int); 
int numofdaysinmonth (int,bool); 
void printheader (int); 
void printmonth (int, int&); 
void skip (int);
void skiptoday (int);
void disaster (); 
void main () 
{
  int year, firstdayincurrentmonth;
  bool leap;
  int currentmonth = 1; 
  int numdays;
  cout << "What year do you want a calendar for? ";
  cin >> year;
  cout << "What day of the week does January 1 fall on?" << endl;
  cout << "(Enter 0 for Sunday, 1 for Monday, etc.) ";
  cin >> firstdayincurrentmonth;
  leap = isleapyear(year);
  skip(9);
  cout << year << endl;
  while (currentmonth <= 12) 
   {
    numdays = numofdaysinmonth(currentmonth,leap);
    printheader(currentmonth);
    printmonth(numdays, firstdayincurrentmonth);
    cout << endl << endl << endl;
    currentmonth = currentmonth + 1;
  }
  cout << endl;
}
void disaster () 
{
  cout << "Disaster! Exiting ..." << endl;
  exit (-1);
}
void skip (int i) 
{
  while (i > 0) 
{
    cout << " ";
    i = i - 1;
  }
}
char whatday (int d) 
{
  if (d == 0) return('s');
  else if (d == 1) return('m');
  else if (d == 2) return('t');
  else if (d == 3) return('w');
  else if (d == 4) return('t');
  else if (d == 5) return('f');
  else if (d == 6) return('s');
  else disaster();
}
bool isleapyear (int y) 
{
  return ((y % 4) == 0); 
}
void printHeader (int m) 
{
 if (m == 1) 
{ 
skip(7); 
cout << "January" << endl; 
}
else if (m == 2) 
{ 
skip(7);
 cout << "February" << endl; 
} 
else if (m == 3) 
{ 
skip(7);
 cout << "March" << endl;
 }
else if (m == 4) 
{ skip(7); 
cout << "April" << endl; 
}
else if (m == 5) 
{ 
skip(7);
 cout << "May" << endl; 
}
else if (m == 6) 
{ 
skip(7);
 cout << "June" << endl; 
}
else if (m == 7) 
{ 
skip(7); 
cout << "July" << endl; 
}
else if (m == 8) 
{ 
skip(7); 
cout << "August" << endl; 
}
else if (m == 9) 
{ 
skip(7); 
cout << "September" << endl; 
}
else if (m == 10) 
{ 
skip(7); 
cout << "October" << endl; 
}
else if (m == 11) 
{ 
skip(7);
 cout << "November" << endl; 
}
else if (m == 12) 
{ 
skip(7); 
cout << "December" << endl; 
}
else disaster();
  cout << " S  M  T  W  T  F  S" << endl;
  cout << "____________________" << endl;
}
int numofdaysinmonth (int m, bool leap) 
{
  if (m == 1) return(31);
  else if (m == 2) if (leap) return(29); 
  else return(28);
  else if (m == 3) 
    return(31);
  else if (m == 4) 
   return(30);
  else if (m == 5) 
    return(31);
  else if (m == 6) 
    return(30);
  else if (m == 7) 
     return(31);
  else if (m == 8) 
    return(31);
  else if (m == 9) 
    return(30);
  else if (m == 10)
    return(31);
  else if (m == 11) 
    return(30);
  else if (m == 12) 
    return(31);
  else disaster();
}
void skiptoday (int d) 
{
  skip(3*d);
}
void printmonth (int numdays, int& weekday) 
{
  int day = 1;
  skiptoday(weekday);
  while (day <= numdays) 
  {
    cout << setw(2) << day << " ";
    if (weekday == 6) 
    {
      cout << endl;
      weekday = 0;
    }
    else weekday = weekday + 1;
    day = day + 1;
  }
}
 

No comments:

Post a Comment