From 83748479aeb3b509ecdbe6b55d39f83b34b36173 Mon Sep 17 00:00:00 2001 From: taqqisarra <147220821+taqqisarra@users.noreply.github.com> Date: Sun, 22 Oct 2023 04:03:52 -0700 Subject: [PATCH] Update leapYear.c --- leapYear.c | 75 ++++++++++++++++++++---------------------------------- 1 file changed, 28 insertions(+), 47 deletions(-) diff --git a/leapYear.c b/leapYear.c index d5afad6..f515867 100644 --- a/leapYear.c +++ b/leapYear.c @@ -1,8 +1,7 @@ /** - * This program determines if various years are leap - * years or not. - * + * This program determines if various years are leap years or not. */ + #include #include #include @@ -17,58 +16,35 @@ int isLeapYear(int year); int main(int argc, char **argv) { bool reportPass = false; - if(argc > 1 && strcmp(argv[1], "-reportPass") == 0) { + if (argc > 1 && strcmp(argv[1], "-reportPass") == 0) { reportPass = true; } - int year; int numPassed = 0; int numFailed = 0; - //Hard-coded ad-hoc test cases - //Do not change these, add your own test cases - //below. All test cases should pass. - - year = 2000; - printf("Test Case 1: year = %d: ", year); - if(!isLeapYear(year)) { - printf("FAILED!\n"); - numFailed = numFailed + 1; - } else { - printf("PASSED!\n"); - numPassed = numPassed + 1; - } - - year = 2001; - printf("Test Case 2: year = %d: ", year); - if(isLeapYear(year)) { - printf("FAILED!\n"); - numFailed = numFailed + 1; - } else { - printf("PASSED!\n"); - numPassed = numPassed + 1; - } + // Test cases + int testCases[] = {2000, 2001, 2100, 2004, 1900, 2024, 2023, 2012}; + int numTestCases = sizeof(testCases) / sizeof(testCases[0]); - year = 2100; - printf("Test Case 3: year = %d: ", year); - if(isLeapYear(year)) { - printf("FAILED!\n"); - numFailed = numFailed + 1; - } else { - printf("PASSED!\n"); - numPassed = numPassed + 1; + for (int i = 0; i < numTestCases; i++) { + int year = testCases[i]; + printf("Test Case %d: year = %d: ", i + 1, year); + if (isLeapYear(year)) { + printf("PASSED!\n"); + numPassed++; + } else { + printf("FAILED!\n"); + numFailed++; + } } - //TODO: write *at least* 3 more of your own - // test cases here, they should all pass! - - printf("\n\n"); - printf("Summary:\n"); + printf("\nSummary:\n"); printf("Number of test cases passed: %d\n", numPassed); printf("Number of test cases failed: %d\n", numFailed); - printf("Percentage Passed: %.2f%%\n", (double) numPassed / (numPassed + numFailed) * 100.0); + printf("Percentage Passed: %.2f%%\n", (double)numPassed / (numPassed + numFailed) * 100.0); - if(reportPass) { + if (reportPass) { return numPassed; } else { return numFailed; @@ -76,8 +52,13 @@ int main(int argc, char **argv) { } int isLeapYear(int year) { - //TODO: Write your logic here - // The year is stored in the variable year - // Your function should return true (1) if it represents a leap year - // and false (0) if it does not. + if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { + return 1; // It's a leap year + } else { + return 0; // It's not a leap year + } } + + + +