#include<stdio.h>
struct Vechile
{
int personal_number;
int rc_number;
char model [30];
char color [30];
int time Arrival;
int time_departure;
}array_car [100];
int space_car = 0;
int number_car = 0;
void show_item()
{
printf ("1 - Add car to park\n");
printf ("2 - Take car from park\n");
printf ("3 - Show all car in park\n");
printf ("0 - Exit\n");
}
void add_car()
{
system("cls");
if (number_car == space_car)
{
printf ("The park is full\n");
return;
}
printf ("Enter the personal number of car: ");
scanf ("%i", &array_car [number_car ]. personal_number);
printf ("Enter the rc_book of car: ");
scanf ("%i", &array_car [number_car ]. rc_number);
printf ("Enter the model of car: ");
scanf ("%s", &array_car [number_car ]. model);
printf ("Enter the color of car: ");
scanf ("%s", &array_car [number_car ]. color);
printf ("Enter when you arrive in park: ");
scanf ("%i", &array_car [number_car ]. time Arrival);
printf ("Enter when you will depart from park: ");
scanf ("%i", &array_car [number_car ]. time_departure);
number_car++;
}
int compare(char a[], char b[])
{
int i = 0;
for (i; i < 20; ++i)
{
if (a[i] != b[i])
return 0;
}
return 1;
}
void take_car()
{
system("cls");
if (number_car == 0)
{
printf ("The park is empty!\n");
return;
}
printf ("Enter number of car which you want to take: ");
int number = 0;
scanf ("%i", &number);
}
int i = 0;
int index = -1;
for (i; i < number_car; ++i)
{
if (number == array_car[i].personal_number)
{
index = i;
break;
}
}
if (index != -1)
{
printf("You take %ith car\n", index + 1);
{
i = index + 1;
int n_car = index;
for (i; i < number_car; ++i)
{
array_car[n_car] = array_car[i];
n_car++;
}
number_car--;
}
else
{
printf("You enter number of car incorrectly!\n");
printf("Enter the rc book of car: ");
int rc = 0;
scanf("%i",&rc);
printf("Enter the model of car: ");
char mod[20] = {0};
scanf("%s",&mod);
printf("Enter the color of car: ");
char col[20] = {0};
scanf("%s",&col);
int i = 0;
int index = -1;
for (i; i < number_car; ++i)
{
if (rc == array_car[i].rc_number &&
compare(mod, array_car[i].model) &&
compare(col, array_car[i].color))
{
index = i;
break;
}
}
if (index != -1)
{
printf("You take %ith car\n", index + 1);
{
i = index + 1;
int n_car = index;
for (i; i < number_car; ++i)
{
array_car[n_car] = array_car[i];
n_car++;
}
number_car--;
}
else
{
printf("You enter incorrect data! You can't take car!\n");
}
}
}
void show_car()
{
system("cls");
if (number_car == 0)
{
printf("Park is empty!\n");
return;
}
else
if (number_car == 1)
{
printf("There are 1 car in park:\n");
}
else
{
printf("There are %i cars in park:\n", number_car);
}
int i = 0;
for (i; i < number_car; ++i)
{
printf("%d\n", array_car[i].personal_number);
printf("%d\n", array_car[i].rc_number);
printf("%s\n", array_car[i].model);
printf("%s\n", array_car[i].color);
printf("%d\n", array_car[i].time_arrival);
printf("%d\n", array_car[i].time_departure);
printf("\n");
}
}
void menu()
{
show_item();
int choice = 0;
scanf("%i",&choice);
switch (choice)
{
case 1:
add_car();
break;
case 2:
take_car();
break;
case 3:
show_car();
break;
case 0:
return;
default:
printf("Bad inputting! try again!\n");
}
menu();
}
void input_count_vechile()
{
printf("Input number of free places for car in park: ");
scanf("%i",&space_car);
menu();
}
int main()
{
input_count_vechile();
return 0;
}
http: