![]() ![]() ![]() | functions/days-month-bad-leap.c - Et program der beregner antal dage i en måned med en funktion - uden IsLeapYear funktionen. | Lektion 5 - slide 21 : 30 Program 2 |
#include <stdio.h> #include <stdlib.h> int daysInMonth(int mth, int yr); int main(void) { int mth, yr; do{ printf("Enter a month - a number between 1 and 12: "); scanf("%d", &mth); printf("Enter a year: "); scanf("%d", &yr); if (yr != 0) printf("There are %d days in month %d in year %d\n", daysInMonth(mth, yr), mth, yr); } while (yr != 0); return 0; } int daysInMonth(int month, int year){ int numberOfDays, leapYear; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: numberOfDays = 31; break; case 4: case 6: case 9: case 11: numberOfDays = 30; break; case 2: if (year % 400 == 0) leapYear = 1; else if (year % 100 == 0) leapYear = 0; else if (year % 4 == 0) leapYear = 1; else leapYear = 0; if (leapYear) numberOfDays = 29; else numberOfDays = 28; break; default: exit(-1); break; } return numberOfDays; }