User Tools

Site Tools


user:acrowle1:portfolio:cprogproject4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:acrowle1:portfolio:cprogproject4 [2014/03/10 02:34] – [Code] acrowle1user:acrowle1:portfolio:cprogproject4 [2014/03/23 16:58] (current) – [Reflection] acrowle1
Line 11: Line 11:
 **Resources:** **Resources:**
   * http://vpcalendar.net/when-is-the-next-leap-year.html   * http://vpcalendar.net/when-is-the-next-leap-year.html
 +  * http://www.timeanddate.com/date/leapyear.html
   * project assignment page   * project assignment page
   * consultation with C/C++ programming instructor, Matt Haas   * consultation with C/C++ programming instructor, Matt Haas
Line 67: Line 68:
 if(year%4==0&&(year/4!=0)){ if(year%4==0&&(year/4!=0)){
         printf("year, %d, is a leap year\n",2000+ year);}         printf("year, %d, is a leap year\n",2000+ year);}
-    if(i==1&&(year%4==0&&(year/4!=0))){+   if(i==1&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st,%d, is on : Sunday\n", 2000+ year);}         printf("Jan 1st,%d, is on : Sunday\n", 2000+ year);}
-    if(i==2&&(year%4==0&&(year/4!=0))){+   if(i==2&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on: Monday\n", 2000+year);}         printf("Jan 1st, %d, is on: Monday\n", 2000+year);}
-    if(i==3&&(year%4==0&&(year/4!=0))){+   if(i==3&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on: Tuesday\n", 2000+year);}         printf("Jan 1st, %d, is on: Tuesday\n", 2000+year);}
-    if(i==4&&(year%4==0&&(year/4!=0))){+   if(i==4&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on: Wednesday\n", 2000+year);}         printf("Jan 1st, %d, is on: Wednesday\n", 2000+year);}
-       if(i==5&&(year%4==0&&(year/4!=0))){+   if(i==5&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on: Thursday\n", 2000+year);}         printf("Jan 1st, %d, is on: Thursday\n", 2000+year);}
-    if(i==6&&(year%4==0&&(year/4!=0))){+   if(i==6&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on: Friday\n", 2000+year);}         printf("Jan 1st, %d, is on: Friday\n", 2000+year);}
-    if(i==7&&(year%4==0&&(year/4!=0))){+   if(i==7&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on Saturday\n", 2000+year);}         printf("Jan 1st, %d, is on Saturday\n", 2000+year);}
-    if(i==0&&(year%4==0&&(year/4!=0))){+   if(i==0&&(year%4==0&&(year/4!=0))){
         printf("Jan 1st, %d, is on Saturday\n", 2000+year);}         printf("Jan 1st, %d, is on Saturday\n", 2000+year);}
 +
  
 //not leap years! //not leap years!
Line 114: Line 116:
  
 =====Execution===== =====Execution=====
-Again, if there is associated code with the project, and you haven't already indicated how to run it, provide a sample run of your code:+
  
 <cli> <cli>
-lab46:~/src/cprog$ ./hello +lab46:~/src/cscs1320nano dayofweek.
-HelloWorld! +lab46:~/src/cscs1320$ gcc -o dayofweek dayofweek.c 
-lab46:~/src/cprog+lab46:~/src/cscs1320$ ./dayofweek 
 +Type last two digits of year from 2001-2099; 
 +04 
 +year2004, is a leap year 
 +Jan 1st, 2004, is on: Thursday 
 +lab46:~/src/cscs1320cal 01 2004 
 +    January 2004 
 +Su Mo Tu We Th Fr Sa 
 +              2  3 
 +  5  6  7  8  9 10 
 +11 12 13 14 15 16 17 
 +18 19 20 21 22 23 24 
 +25 26 27 28 29 30 31 
 + 
 +lab46:~/src/cscs1320$ ./dayofweek 
 +Type last two digits of year from 2001-2099; 
 +67 
 +Jan 1st, 2067, is on: Saturday 
 +lab46:~/src/cscs1320$ cal 01 2067 
 +    January 2067 
 +Su Mo Tu We Th Fr Sa 
 +                   1 
 +  3  4  5  6  7  8 
 + 9 10 11 12 13 14 15 
 +16 17 18 19 20 21 22 
 +23 24 25 26 27 28 29 
 +30 31 
 </cli> </cli>
  
 =====Reflection===== =====Reflection=====
-Comments/thoughts generated through performing the projectobservations madeanalysis renderedconclusions wroughtWhat did you learn from doing this project?+Interestingly enough, the year 2000 would not be a leap year if only using the first 2 criteria.  
 +The criteria:  
 +  - If year is evenly divisible by 4it is a leap year. 
 +  - If year is evenly divided by 100it is not a leap yearexcept when  
 +  - the year is also evenly divisible by 400.
  
 +The year 2000 is a significant calendar year because it was the first instance when the third criteria was invoked since switching from the Julian calendar to the Gregorian one. The reason for leap years? This was necessary to keep our calendar in alignment with Earth's revolutions around the sun. If we did not add a day to our calendar ~every 4 years, we would lose nearly 6 hours every year, so after 100 years our calendar would be off by nearly 24 days as measured by earth's revolutions. Why is a leap year skipped every 100 years, except in special instances (like year 2000)? This is to account for the 11 minutes shaved off from the 365.25 calendar year. 
 +
 +While I wrote my code more simplistically saying if i divided by 4 equals zero, then it is a leap year and if i divided by 4 does not equal zero, not a leap year, the code worked. I could have added that i/100==0 || i/400==0 is a leap year to make my code more realistic to how the calendar interprets leap years from non-leap years, particularly in special instances such as 2000.
 =====References===== =====References=====
 In performing this project, the following resources were referenced: In performing this project, the following resources were referenced:
  
-  * URL1 +  * http://www.timeanddate.com/date/leapyear.html 
-  * URL2 +  * http://vpcalendar.net/when-is-the-next-leap-year.html 
-  * URL3 (provides useful information on topic+  * [[haas:spring2014:cprog:projects:dayofweek|Project: MENTAL MATH (DAY OF WEEK)]] 
-  * URL4+
  
-Generally, state where you got informative and useful information to help you accomplish this project when you originally worked on it (from Google, other wiki documents on the Lab46 wiki, etc.) 
user/acrowle1/portfolio/cprogproject4.1394418865.txt.gz · Last modified: 2014/03/10 02:34 by acrowle1