/*
Program to calculate trip and plan flights
*/
#define TRIP 6
#define NUMLEG 10
#include <stdio.h>
#include <string.h>
int input_trip(void);
int input_leg(int travel_leg[NUMLEG], int index);
char input_travel_type(char leg_type[TRIP][NUMLEG], int n, int index, int leg_num);
int main(void)
{
int row, col, trip_num, index, travel_leg[NUMLEG], leg_num, n;
char leg_type[TRIP][NUMLEG];
trip_num = input_trip();
for (index =0; index < trip_num; index++)
{
leg_num = input_leg(travel_leg,index);
printf("At Trip Number:%d
", index);
printf("Number of legs %d
", leg_num );
printf("A Airplane
");
printf("R Train and rail travel
");
printf("B Bus
");
printf("C Car
");
printf("F Ferry
");
printf("S Cruise ship
");
printf("M Motorcycle
");
printf("Y Bicycle
");
printf("T Boat other than a ferry or cruise ship
");
printf("D Dirigible
");
printf("O Other
");
printf("NOTE!!:Please using capital letters (case sensitive).
");
for (n = 0; n < leg_num; n ++)
{
printf("At leg Number%d
", n);
input_travel_type(leg_type, n, index, leg_num);
}
}
for (index = 0; index < trip_num; index++)
{
printf("Trip#:%d Num_leg:%d ", index+1, travel_leg[index]);
for (n = 0; n < leg_num ; n++)
printf("Leg_type(#%d):%c ",n+1, leg_type[index][n]);
printf("
");
}
return 0;
}
int input_trip(void)
{
int trip_num;
printf("Please enter the number of trips:");
scanf("%d", &trip_num);
// if( (trip_num <= TRIP) && (trip_num >= 3))
if( (trip_num <= TRIP) && (trip_num >=1) )
{
return trip_num;
}
else
{
while ((trip_num < 1) || ( trip_num > TRIP))
{
printf("Invalid number of trip. (Min of 3 trips and Max 6 trips).
"); /*input number of trips*/
printf("Please enter the number of trips:");
scanf("%d", &trip_num);
if( (trip_num <= TRIP) && (trip_num >= 1))
{
return trip_num;
}
}
}
}
int input_leg(int travel_leg[NUMLEG], int index)
{
int leg_num, i;
char travel_type, checkA, A, R, B, C, F, S, M, Y, T, D, O;
printf("Please enter the number of legs in your trip:");
scanf("%d", &leg_num);
if ( (leg_num <= NUMLEG) && (leg_num > 0) )
{
travel_leg[index]=leg_num;
return leg_num;
}
else
{
while ( (leg_num < 0) || (leg_num > NUMLEG))
{
printf("Invalid number of legs(min 1 and max 10 legs).
");
printf("Please enter the number of legs in your trip:");
scanf("%d", &leg_num);
if ( (leg_num <= NUMLEG) && (leg_num > 0) )
{
travel_leg[index]=leg_num;
return leg_num;
}
}
}
}
char input_travel_type(char leg_type[TRIP][NUMLEG], int n, int index, int leg_num)
{
char travel_type, checkA;
printf("Please enter the leg type for leg#%d:", n+1);
scanf("%c", &travel_type);
checkA = ( (travel_type == A ) || (travel_type == R ) || (travel_type == B ) ||
(travel_type == C ) || (travel_type == F ) || (travel_type == S ) ||
(travel_type == M ) || (travel_type == Y ) || (travel_type == T ) ||
(travel_type == D ) || (travel_type == 0 ) );
if (checkA == 1)
{
leg_type[index][n]=travel_type;
}
else
{
while (checkA != 1)
{
printf("Please enter the leg type for leg#%d:", n+1);
scanf("%c", &travel_type);
checkA = ( (travel_type == A ) || (travel_type == R ) || (travel_type == B ) ||
(travel_type == C ) || (travel_type == F ) || (travel_type == S ) ||
(travel_type == M ) || (travel_type == Y ) || (travel_type == T ) ||
(travel_type == D ) || (travel_type == 0 ) );
if (checkA == 1)
leg_type[index][n]=travel_type;
}
}
}
(我回过问这个问题,但我的法典太过错,所以我重新把它换成职能,以便更容易阅读)
问题Im在于,每当我走出坡道时,我腿部就翻了一番,因此,当我试图用印刷版印刷时,我所说的最后一段是:
(n = 0; n < leg_num ; n++) 页: 1
<><> >>>>
因此,当我乘坐2次旅行时,第1号有3次双程旅行,第2号有两条腿,通过印刷机进行,每次旅行只印两条腿。
Trip#:1 Num_leg:3 Leg_type(#1):C Leg_type(#2):B
Trip#:2 Num_leg:2 Leg_type(#1):A Leg_type(#2):R
Trip#:1 Num_leg:1 Leg_type(#1):S Leg_type(#2):
Trip#:2 Num_leg:2 Leg_type(#1):F Leg_type(#2):S
所有其他工作都很出色,因为我沿途做了印刷发言,以检查是否是问题,但却是问题。 我正想将“南”带入一个阵列,但并不肯定如何去做,此外,这是家务劳动的一部分,我们的教授正在限制几乎所有东西,而只是基本通道。