//preprocessor directives
#include <stdio.h>
#include <stdlib.h>
//declare prototypes
void find_closest_flight(int desired_time);
//external variables
int arrival_hours, arrival_minutes, departure_hours, departure_minutes, hours, minutes,minutes_past_mid;
//call main function
int main(void)
{
int departures[8]={480, 583, 679, 767, 840, 945, 1140, 1305};
int arrivals[8]={616, 712, 811, 900, 968, 1075, 1280, 1438};
//*departure_time = &departure[];
// *arrival_time = &arrivals[];
//ask for time in hours:
printf("Enter a 24-hour time: ");
scanf("%d: %d", &hours, &minutes);
minutes_past_mid = (hours*60) + minutes;
find_closest_flight(minutes_past_mid);
exit(EXIT_SUCCESS);
}
void find_closest_flight(int desired_time)
{
int departures[7]={480, 583, 679, 767, 840, 945, 1140, 1305};
int arrivals[7]={616, 712, 811, 900, 968, 1075, 1280, 1438};
int i=0;
if(desired_time>departures[0])
{
while( desired_time > departures[ i])
{
arrivals[ i];
i++;
}
departures[ i] = departures[i-1];
arrivals[ i] = arrivals[i-1];
}
else
{
while( desired_time < departures[ i])
{
arrivals[ i];
i--;
}
departures[I] = departures[i+1];
arrivals[ i] = arrivals[i+1];
}
printf("Closest Departure/ Arrival Times\n\n");
departure_hours = departures[ i]/60;
departure_minutes = departures[ i]%60;
arrival_hours = arrivals[ i]/60;
arrival_minutes = arrivals[ i]%60;
if(departure_hours>12)
departure_hours= departure_hours-12;
if(arrival_hours>12)
arrival_hours=arrival_hours-12;
if(departure_hours == 0)
departure_hours = 12;
if(arrival_hours == 0)
arrival_hours = 12;
if(departures[I]>=720)
{
printf("Departure Time: \t\t %d:%.2d pm\n", departure_hours, departure_minutes);
if( arrivals[ i] >= 720 )
{
printf("Arrival Time1: \t\t %d:%.2d pm", arrival_hours, arrival_minutes);
}
else
{
printf("Arrival Time2: \t\t %d:%.2d pm", arrival_hours, arrival_minutes);
}
}
if(departures[ i]<720)
{
printf("Departure Time: \t\t %d:%.2d am\n", departure_hours, departure_minutes);
if( arrivals[ i] >= 720 )
{
printf("Arrival Time3: \t\t %d:%.2d pm", arrival_hours, arrival_minutes);
}
else
{
printf("Arrival Time4: \t\t %d:%.2d am", arrival_hours, arrival_minutes);
}
}
}