void PlanSum::Trip_Time (void) { int i, start_total, mid_total, end_total; double start, mid, end; Show_Message ("Trip Time Report"); //---- get the total number of trips ---- start_total = mid_total = end_total = 0; for (i=1; i <= num_inc; i++) { start_total += start_time [i]; mid_total += mid_time [i]; end_total += end_time [i]; } if (start_total == 0 && mid_total == 0 && end_total == 0) { Write (2, "Trip Time Data is Zero"); return; } if (start_total == 0) { start = 1.0; } else { start = start_total; } if (mid_total == 0) { mid = 1.0; } else { mid = mid_total; } if (end_total == 0) { end = 1.0; } else { end = end_total; } //---- print the report ---- Header_Number (TRIP_TIME); if (!Break_Check (num_inc + 7)) { Print (1); Trip_Time_Header (); } for (i=1; i <= num_inc; i++) { Print (1, "%-12.12s %10d %6.2lf %10d %6.2lf %10d %6.2lf", time_periods.Range_Format (i), start_time [i], 100.0 * start_time [i] / start, mid_time [i], 100.0 * mid_time [i] / mid_total, end_time [i], 100.0 * end_time [i] / end_total); } Print (2, "Total %10d 100.00 %10d 100.00 %10d 100.00", start_total, mid_total, end_total); Header_Number (0); }
void TripSum::Trip_Diurnal_Report (void) { int p, start_total, mid_total, end_total, num_periods; double start, mid, end; //---- get the total number of trips ---- num_periods = sum_periods.Num_Periods (); start_total = mid_total = end_total = 0; for (p=0; p < num_periods; p++) { start_total += start_time [p]; mid_total += mid_time [p]; end_total += end_time [p]; } if (start_total == 0 && mid_total == 0 && end_total == 0) { Write (2, "Time Distribution Data is Zero"); return; } if (start_total == 0) { start = 1.0; } else { start = start_total; } if (mid_total == 0) { mid = 1.0; } else { mid = mid_total; } if (end_total == 0) { end = 1.0; } else { end = end_total; } //---- print the report ---- Header_Number (TRIP_DIURNAL); if (!Break_Check (num_periods + 7)) { Print (1); Trip_Time_Header (); } for (p=0; p < num_periods; p++) { Print (1, String ("%-12.12s %10d %6.2lf %10d %6.2lf %10d %6.2lf") % sum_periods.Range_Format (p) % start_time [p] % (100.0 * start_time [p] / start) % mid_time [p] % (100.0 * mid_time [p] / mid) % end_time [p] % (100.0 * end_time [p] / end)); } Print (2, String ("Total %10d 100.00 %10d 100.00 %10d 100.00") % start_total % mid_total % end_total); Header_Number (0); }
void PlanSum::Page_Header (void) { switch (Header_Number ()) { case TOP_100: //---- Top 100 V/C Ratio Report ---- Top_100_Header (); break; case VC_RATIO: //---- All V/C Ratios Greater Than x.xx --- VC_Ratio_Header (); break; case LINK_GROUP: //---- Link Group Report ----- Link_Group_Header (); break; case SUM_RIDERS: //---- Transit Ridership Report ---- Transit_Header (); break; case SUM_STOPS: //---- Transit Stop Report ---- Stop_Header (); break; case SUM_TRANSFERS: //---- Transit Transfer Report ---- case XFER_DETAILS: //---- Transit Transfer Details ---- Transfer_Header (); break; case STOP_GROUP: //---- Transit Stop Group Report ---- Stop_Group_Header (); break; case SUM_PASSENGERS: //---- Transit Passenger Summary ---- Passenger_Header (); break; case RIDER_GROUP: //---- Transit Link Group Summary ---- Rider_Header (); break; case TRIP_TIME: //---- Trip Time Report ---- Trip_Time_Header (); break; case SUM_TRAVEL: //---- Travel Summary Report ---- Travel_Header (); break; default: break; } }