I need help with my code. It seems to be caught in an endless loop and I can't find the problem
Please Help!!



// program to calculate number of seconds from user entered date until Y2K

#include <stdio.h>

#include <string.h>



void Date();

void ComputeTime();



int day, month, year;

int hour, minute, second;

long hoursLeft, minutesLeft, secondsLeft;

long hoursPast, minutesPast, secondsPast;



int main()

{

while(1)

{

Date();

ComputeTime();

}

return(0);

}



void Date()

{

while (1)

{

printf ("Please enter a date using the following format: \n(hh:mm:ss:mm/dd/yyyy) \n\n");

scanf("%d/%d/%d/%d/%d/%d" ,&hour, &minute, &second, &month, &day, &year);

/* error trapping for month, day and year */

if(hour < 24 && hour >= 0 && minute < 60 && minute >= 0 && second < 60 && second >= 0 &&

(month < 13) && (month > 0) && day < 32 && day > 0 && year < 2100 && year > 1899)

break;

else

{

printf ("Data and/or format is incorrect!\n");

printf ("Please reenter the date using the following format: \n(hh:mm:ss:mm/dd/yyyy) \n\n");

printf ("Date entered = %d/%d/%d/%d/%d/%d\n", hour, minute, second, month, day, year);

}

}

}



void ComputeTime()

{

long yearDiff, days, totalSeconds;

yearDiff = 1999 - year;



if(year < 2000)

{

switch(month)

{

case 12:

days = 31 - day;

break;

case 11:

days = 31 + 30 - day;

break;

case 10:

days = 31 + 30 + 31 - day;

break;

case 9:

days = 31 + 30 + 31 + 30 - day;

break;

case 8:

days = 31 + 30 + 31 + 30 + 31 - day;

break;

case 7:

days = 31 + 30 + 31 + 30 + 31 + 31 - day;

break;

case 6:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 - day;

break;

case 5:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 - day;

break;

case 4:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 - day;

break;

case 3:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 - day;

break;

case 2:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 - day;

break;

case 1:

days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 + 31 - day;

break;

}

hoursLeft = (yearDiff * 8760) + (days * 24) + (23 - hour);

minutesLeft = (60 - minute) - 1;

secondsLeft = (60 - second) - 1;

totalSeconds = (hoursLeft * 3600) + (minutesLeft * 60) + secondsLeft;

printf("Hours,minutes,seconds remaining to New Years Day 2000 are: %ld,%ld,%ld\n", hoursLeft, minutesLeft, secondsLeft);

printf("The total # of seconds remaining to New Years Day 2000 are: %ld\n", totalSeconds);

}

else

{

yearDiff = year - 2000;



switch(month)

{

case 1:

days = day;

break;

case 2:

days = 31 + day;

break;

case 3:

days = 31 + 28 + day;

break;

case 4:

days = 31 + 28 + 31 + day;

break;

case 5:

days = 31 + 28 + 31 + 30 + day;

break;

case 6:

days = 31 + 28 + 31 + 30 + 31 + day;

break;

case 7:

days = 31 + 28 + 31 + 30 + 31 + 30 + day;

break;

case 8:

days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;

break;

case 9:

days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;

break;

case 10:

days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;

break;

case 11:

days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;

break;

case 12:

days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;

break;

}

hoursLeft = (yearDiff * 8760) + ((days-1) * 24) + (hour);

minutesLeft = (minute);

secondsLeft = (second);

totalSeconds = (hoursLeft * 3600) + (minutesLeft * 60) + secondsLeft;

printf("hours,minutes,seconds past New Years Day 2000 is: %ld,%ld,%ld\n", hoursLeft, minutesLeft, secondsLeft);

printf("The total # of seconds past New Years Day 2000 is: %ld\n", totalSeconds);

}

}