User Tools

Site Tools


notes:cprog:fall2024:projects:mmf0

This is an old revision of the document!


MMF0

Process

Input value as short int (all four digits)

mmf0verify uses stdin to write the year

  • fscanf can be used to read from stdin
  • The following line uses fscanf to read the stdin file, and assign the result to a variable named year
fscanf (stdin, “%hu\n”, &year);

Obtain the last two digits of this input value

Quarter the value

Add quartered value back to two digit year

Subtract best fitting multiple of seven

If it is a leap year subtract 1 more

Look up day in table

Day Value
Monday 1
Day Value
Tuesday 2
Day Value
Wednesday 3
Day Value
Thursday 4
Day Value
Friday 5
Day Value
Saturday 6
Day Value
Sunday 7
Day Value
Sunday 0

Edge case: leap years

SELECTION

if statements

else if

else

RELATIONAL OPERATORS

Operator Description
== is equal to
!= is not equal to
< greater than
> less than
<= less than or equal to
>= greater than or equal to

VERIFY RESULTS

To verify your results, ./mmf0verify

Remember to only use stdout to print the days of the week [EX: fprintf(stdout, “Monday\n”)]. If stdout is used for anything other than the days of the week, the mmf0verify will say you have a mismatch for every year, even if you get the correct day when you run your compiled code. If you want to print something other than the days of the week, use stderr.

notes/cprog/fall2024/projects/mmf0.1727037604.txt.gz · Last modified: 2024/09/22 20:40 by tkastne1