#include <stdio.h>
/* Its OK to make the type global, that way all functions can use it */
/* Note that "struct date" is NOT a global variable */
struct date
{
int month;
int day;
int year;
};
void printNextDay (struct date dateval); /* function prototype */
int main ()
{
struct date today; /* local variable to main */
/* Set up a date to pass to the printNextDay function */
today.day = 17;
today.year = 1996;
today.month = 10;
/* pass by value the information to our function*/
printNextDay (today);
/* The value of today will be unchanged - still the 17th */
printf ("%d/%d/%d \n", today.
month, today.
day, today.
year-1900);
return (0);
} /* main */
/**************************************************************************
**
** Function: printNextDay
**
** Description: Simply prints the next day of a given 20th century date
** in MM/DD/YYYY format. Does not check for last day in the month (known
** issue to be addressed in the future)
**
** Parameters: dataval - a structure with month, day, and year
**
** Returns: void
**
**********************************************************************/
void printNextDay (struct date dateval)
{
++dateval.day; /* add a day to the value passed into this function */
printf ("%d/%d/%d\n", dateval.
month, dateval.
day, dateval.
year-1900);
return; /* optional, no value returned since it returns void */
} /* printNextDay */
I2luY2x1ZGUgPHN0ZGlvLmg+CgoKLyogSXRzIE9LIHRvIG1ha2UgdGhlIHR5cGUgZ2xvYmFsLCB0aGF0IHdheSBhbGwgZnVuY3Rpb25zIGNhbiB1c2UgaXQgKi8gCi8qIE5vdGUgdGhhdCAic3RydWN0IGRhdGUiIGlzIE5PVCBhIGdsb2JhbCB2YXJpYWJsZSAqLyAKc3RydWN0IGRhdGUgCgp7IAoKICAgIGludCBtb250aDsgCgogICAgaW50IGRheTsgCgogICAgaW50IHllYXI7IAoKfTsgCgp2b2lkIHByaW50TmV4dERheSAoc3RydWN0IGRhdGUgZGF0ZXZhbCk7ICAvKiBmdW5jdGlvbiBwcm90b3R5cGUgKi8KCgppbnQgbWFpbiAoKSAKeyAgCiAgICBzdHJ1Y3QgZGF0ZSB0b2RheTsgLyogbG9jYWwgdmFyaWFibGUgdG8gbWFpbiAqLyAKCiAgICAvKiBTZXQgdXAgYSBkYXRlIHRvIHBhc3MgdG8gdGhlIHByaW50TmV4dERheSBmdW5jdGlvbiAqLwogICAgdG9kYXkuZGF5ID0gMTc7CiAgICB0b2RheS55ZWFyID0gMTk5NjsgCiAgICB0b2RheS5tb250aCA9IDEwOyAKCiAgICAvKiBwYXNzIGJ5IHZhbHVlIHRoZSBpbmZvcm1hdGlvbiB0byBvdXIgZnVuY3Rpb24qLyAgCiAgICBwcmludE5leHREYXkgKHRvZGF5KTsgICAKICAKICAgIC8qIFRoZSB2YWx1ZSBvZiB0b2RheSB3aWxsIGJlIHVuY2hhbmdlZCAtIHN0aWxsIHRoZSAxN3RoICovICAKICAgIHByaW50ZiAoIiVkLyVkLyVkIFxuIiwgdG9kYXkubW9udGgsIHRvZGF5LmRheSwgdG9kYXkueWVhci0xOTAwKTsKCgogICAgcmV0dXJuICgwKTsgCgp9IC8qIG1haW4gKi8gCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKioKKiogRnVuY3Rpb246IHByaW50TmV4dERheQoqKgoqKiBEZXNjcmlwdGlvbjogU2ltcGx5IHByaW50cyB0aGUgbmV4dCBkYXkgb2YgYSBnaXZlbiAyMHRoIGNlbnR1cnkgZGF0ZSAKKiogaW4gTU0vREQvWVlZWSBmb3JtYXQuIERvZXMgbm90IGNoZWNrIGZvciBsYXN0IGRheSBpbiB0aGUgbW9udGggKGtub3duCioqIGlzc3VlIHRvIGJlIGFkZHJlc3NlZCBpbiB0aGUgZnV0dXJlKQoqKgoqKiBQYXJhbWV0ZXJzOiBkYXRhdmFsIC0gYSBzdHJ1Y3R1cmUgd2l0aCBtb250aCwgZGF5LCBhbmQgeWVhcgoqKgoqKiBSZXR1cm5zOiB2b2lkCioqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAoKdm9pZCBwcmludE5leHREYXkgKHN0cnVjdCBkYXRlIGRhdGV2YWwpIAp7IAoKICAgICsrZGF0ZXZhbC5kYXk7IC8qIGFkZCBhIGRheSB0byB0aGUgdmFsdWUgcGFzc2VkIGludG8gdGhpcyBmdW5jdGlvbiAqLyAKCiAgICBwcmludGYgKCIlZC8lZC8lZFxuIiwgZGF0ZXZhbC5tb250aCwgZGF0ZXZhbC5kYXksIGRhdGV2YWwueWVhci0xOTAwKTsgCgogICAgcmV0dXJuOyAvKiBvcHRpb25hbCwgbm8gdmFsdWUgcmV0dXJuZWQgc2luY2UgaXQgcmV0dXJucyB2b2lkICovIAoKfSAvKiBwcmludE5leHREYXkgKi8K