Take the code below and split it up into several files Make
Take the code below, and split it up into several files. Make a C (.c) file, containing at least one function. Then make a header (.h) file for it. Finally, make another program with a \"main\" function, to call the function.
int main()
{ int timehours, timeminutes,totaltime, flightarrival,
flightdeparture;
printf(\"Enter a 24-hour time: \");
scanf(\"%d:%d\",& timehours, & timeminutes);
totaltime=timehours * 60 + timeminutes;
if(totaltime<=480)/*8:00 a.m.*/
{flightdeparture=480;
flightarrival=616;
}
else if(totaltime<=583)/*9:43 a.m.*/
{flightdeparture=(totaltime-480)<=(583-totaltime)?480:583;
flightarrival=(totaltime-480)<=(583-totaltime)?616:712;
}
else if(totaltime<=679)/*11:19 a.m.*/
{ flightdeparture =(totaltime - 583)<=(679-totaltime)?583:679;
flightarrival =(totaltime-583)<=(679-totaltime)?712:811;
}
else if(totaltime<=767)/*12:47 p.m.*/
{ flightdeparture=(totaltime -679)<=(767-totaltime)?679:767;
flightarrival=(totaltime-679)<=(767-totaltime)?811:900;
}
else if (totaltime<=840)/*2:00 p.m.*/
{ flightdeparture=(totaltime-767)<=(840-totaltime)?767:840;
flightarrival=(totaltime-767)<=(840-totaltime)?900:968;
}
else if(totaltime<=945)/*3:45p.m.*/
{flightdeparture=(totaltime-840)<=(945-totaltime)?840:945;
flightarrival=(totaltime-840)<=(945-totaltime)?968:1075;
}
else if(totaltime<=1140)/*7:00 p.m.*/
{flightdeparture=(totaltime-945)<=(1140-totaltime)?945:1140;
flightarrival=(totaltime-945)<=(1140-totaltime)?1075:1280;
}
else /*9:45 p.m.*/
{
flightdeparture=(totaltime-1140)<=(1305-totaltime)?1140:1305;
flightarrival=(totaltime-1140)<=(1305-totaltime)?1280:1438;
}
timehours=(flightdeparture/60);
timeminutes=(flightdeparture-(timehours*60));
if(timehours>=12)
{
if(timehours!=12)
timehours=timehours-12;
printf(\"Closest departure time is %d:%.2d p.m,\",
timehours,timeminutes);
}
else
printf(\"Closet departure time is %d:%.2d a.m,\",
timehours,timeminutes);
timehours=(flightarrival/60);
timeminutes=(flightarrival-(timehours*60));
if(timehours>=13)
{
if(timehours !=12)
timehours=timehours-12;
printf(\"arriving at %d:%.2d p.m.\ \", timehours,timeminutes);
}
else
printf(\"arriving at %d:%.2d a.m.\ \", timehours,timeminutes);
return 0;
}
Solution
#ifndef TIMEFUNCTIONS_H_INCLUDED
#define TIMEFUNCTIONS_H_INCLUDED
void readTime(int *timehours, int *timeminutes)
{
printf(\"Enter a 24-hour time: \");
scanf(\"%d:%d\", timehours, timeminutes);
}
void calculateFlightArrivalDep(int totaltime,int *flightarrival,int *flightdeparture)
{
if(totaltime<=480)/*8:00 a.m.*/
{
*flightdeparture=480;
*flightarrival=616;
}
else if(totaltime<=583)/*9:43 a.m.*/
{
*flightdeparture=(totaltime-480)<=(583-totaltime)?480:583;
*flightarrival=(totaltime-480)<=(583-totaltime)?616:712;
}
else if(totaltime<=679)/*11:19 a.m.*/
{
*flightdeparture =(totaltime - 583)<=(679-totaltime)?583:679;
*flightarrival =(totaltime-583)<=(679-totaltime)?712:811;
}
else if(totaltime<=767)/*12:47 p.m.*/
{
*flightdeparture=(totaltime -679)<=(767-totaltime)?679:767;
*flightarrival=(totaltime-679)<=(767-totaltime)?811:900;
}
else if (totaltime<=840)/*2:00 p.m.*/
{
*flightdeparture=(totaltime-767)<=(840-totaltime)?767:840;
*flightarrival=(totaltime-767)<=(840-totaltime)?900:968;
}
else if(totaltime<=945)/*3:45p.m.*/
{
*flightdeparture=(totaltime-840)<=(945-totaltime)?840:945;
*flightarrival=(totaltime-840)<=(945-totaltime)?968:1075;
}
else if(totaltime<=1140)/*7:00 p.m.*/
{
*flightdeparture=(totaltime-945)<=(1140-totaltime)?945:1140;
*flightarrival=(totaltime-945)<=(1140-totaltime)?1075:1280;
}
else /*9:45 p.m.*/
{
*flightdeparture=(totaltime-1140)<=(1305-totaltime)?1140:1305;
*flightarrival=(totaltime-1140)<=(1305-totaltime)?1280:1438;
}
}
void printDepart(int timehours,int timeminutes )
{
if(timehours>=12)
{
if(timehours!=12)
timehours=timehours-12;
printf(\"Closest departure time is %d:%.2d p.m,\",
timehours,timeminutes);
}
else
printf(\"Closet departure time is %d:%.2d a.m,\",
timehours,timeminutes);
}
void printArriv(int timehours,int timeminutes )
{
if(timehours>=13)
{
if(timehours !=12)
timehours=timehours-12;
printf(\"arriving at %d:%.2d p.m.\ \", timehours,timeminutes);
}
else
printf(\"arriving at %d:%.2d a.m.\ \", timehours,timeminutes);
}
#endif // TIMEFUNCTIONS_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include \"TimeFunctions.h\"
int main()
{
int timehours, timeminutes,totaltime, flightarrival,
flightdeparture;
readTime(&timehours,&timeminutes);
totaltime=timehours * 60 + timeminutes;
calculateFlightArrivalDep( totaltime,&flightarrival,&flightdeparture);
timehours=(flightdeparture/60);
timeminutes=(flightdeparture-(timehours*60));
printDepart(timehours,timeminutes);
timehours=(flightarrival/60);
timeminutes=(flightarrival-(timehours*60));
printArriv(timehours,timeminutes);
return 0;
}
OUTPUT:
Enter a 24-hour time: 12:30
Closest departure time is 12:47 p.m,arriving at 3:00 p.m.



