#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 = 3;
today.year = 2026;
today.month = 2;
/* 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-2000);
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-2000);
return; /* optional, no value returned since it returns void */
} /* printNextDay */
I2luY2x1ZGUgPHN0ZGlvLmg+CgoKLyogSXRzIE9LIHRvIG1ha2UgdGhlIHR5cGUgZ2xvYmFsLCB0aGF0IHdheSBhbGwgZnVuY3Rpb25zIGNhbiB1c2UgaXQgKi8gCi8qIE5vdGUgdGhhdCAic3RydWN0IGRhdGUiIGlzIE5PVCBhIGdsb2JhbCB2YXJpYWJsZSAqLyAKc3RydWN0IGRhdGUgCgp7IAoKICAgIGludCBtb250aDsgCgogICAgaW50IGRheTsgCgogICAgaW50IHllYXI7IAoKfTsgCgp2b2lkIHByaW50TmV4dERheSAoc3RydWN0IGRhdGUgZGF0ZXZhbCk7ICAvKiBmdW5jdGlvbiBwcm90b3R5cGUgKi8KCgppbnQgbWFpbiAoKSAKeyAgCiAgICBzdHJ1Y3QgZGF0ZSB0b2RheTsgLyogbG9jYWwgdmFyaWFibGUgdG8gbWFpbiAqLyAKCiAgICAvKiBTZXQgdXAgYSBkYXRlIHRvIHBhc3MgdG8gdGhlIHByaW50TmV4dERheSBmdW5jdGlvbiAqLwogICAgdG9kYXkuZGF5ID0gMzsKICAgIHRvZGF5LnllYXIgPSAyMDI2OyAKICAgIHRvZGF5Lm1vbnRoID0gMjsgCgogICAgLyogcGFzcyBieSB2YWx1ZSB0aGUgaW5mb3JtYXRpb24gdG8gb3VyIGZ1bmN0aW9uKi8gIAogICAgcHJpbnROZXh0RGF5ICh0b2RheSk7ICAgCiAgCiAgICAvKiBUaGUgdmFsdWUgb2YgdG9kYXkgd2lsbCBiZSB1bmNoYW5nZWQgLSBzdGlsbCB0aGUgMTd0aCAqLyAgCiAgICBwcmludGYgKCIlZC8lZC8lZCBcbiIsIHRvZGF5Lm1vbnRoLCB0b2RheS5kYXksIHRvZGF5LnllYXItMjAwMCk7CgoKICAgIHJldHVybiAoMCk7IAoKfSAvKiBtYWluICovIAoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCioqCioqIEZ1bmN0aW9uOiBwcmludE5leHREYXkKKioKKiogRGVzY3JpcHRpb246IFNpbXBseSBwcmludHMgdGhlIG5leHQgZGF5IG9mIGEgZ2l2ZW4gMjB0aCBjZW50dXJ5IGRhdGUgCioqIGluIE1NL0REL1lZWVkgZm9ybWF0LiBEb2VzIG5vdCBjaGVjayBmb3IgbGFzdCBkYXkgaW4gdGhlIG1vbnRoIChrbm93bgoqKiBpc3N1ZSB0byBiZSBhZGRyZXNzZWQgaW4gdGhlIGZ1dHVyZSkKKioKKiogUGFyYW1ldGVyczogZGF0YXZhbCAtIGEgc3RydWN0dXJlIHdpdGggbW9udGgsIGRheSwgYW5kIHllYXIKKioKKiogUmV0dXJuczogdm9pZAoqKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLyAKCnZvaWQgcHJpbnROZXh0RGF5IChzdHJ1Y3QgZGF0ZSBkYXRldmFsKSAKeyAKCiAgICArK2RhdGV2YWwuZGF5OyAvKiBhZGQgYSBkYXkgdG8gdGhlIHZhbHVlIHBhc3NlZCBpbnRvIHRoaXMgZnVuY3Rpb24gKi8gCgogICAgcHJpbnRmICgiJWQvJWQvJWRcbiIsIGRhdGV2YWwubW9udGgsIGRhdGV2YWwuZGF5LCBkYXRldmFsLnllYXItMjAwMCk7IAoKICAgIHJldHVybjsgLyogb3B0aW9uYWwsIG5vIHZhbHVlIHJldHVybmVkIHNpbmNlIGl0IHJldHVybnMgdm9pZCAqLyAKCn0gLyogcHJpbnROZXh0RGF5ICovCg==