Esempio n. 1
0
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);
}
Esempio n. 2
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);
}
Esempio n. 3
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;
	}
}