writing A function which gives the number of days between two dates in the same year
alright, I've been working on a program that will give the number of days between two calendar dates. It is suggested that we write a function that gives the number of days between two dates in a year. I can see how this would work, because then I could multiply that number of days by 365+ leap years, but I can't figure out the logic behind that function. Here is my program so far to show what I have.
Code:
#include <stdio.h>
#include <time.h>
int days, month, year, days_1, month_1, year_1, leapy, ndays;
int daysinmonth(int month) /*there is a problem in this statement, your printf is reading out ridiculous numbers for days, don't forget to ask*/
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return -1;
}
}
int leap(int year)
{
if(year%400 ==0 || (year%100 != 0 && year%4 == 0))
{
leapy=1;
}
else
{
leapy=0;
}
}
double difftime(time, time_1)
{
printf("difftime(month, month_1)=%d",difftime(month, month_1));
}
int main(void)
{
int days_1, month_1, year_1;
char a, b, a1, b1;
printf("intput a date in the follwing format:\n");
printf("mmddyyyy: in other words the two digit day,two digit month,\n");
printf("and four digit year, with no slashes or heifens anywhere.\n");
scanf("%d%c%d%c%d", &month, &a, &days, &b, &year);
if(month<0 || month>12 || days<0 || days>31 || year<0)
{
printf("data not valid");
}
printf("enter the later date in the same format:\n");
scanf("%d%c%d%c%d", &month_1, &a1, &days_1, &b1, &year_1);
ndays=daysinmonth(month);
printf("days in month=%d\n", ndays);
leap(year);
printf("%d", leap);
difftime(month, month_1);
return 0;
}
My switch function works well, so I get the correct number of days in a month (thanks to tater) returned, and I've messed around with using the difftime function and dividing by 86,400 to get the proper number of days, but that hasn't worked. So my question is, how do I exactly go about writing this function that will give me the number of days between two dates in the same year?