final
This commit is contained in:
		
							parent
							
								
									b402f7565a
								
							
						
					
					
						commit
						d7843cedbc
					
				| @ -3,6 +3,7 @@ | ||||
| #include <string.h> | ||||
| #include <stdio.h> | ||||
| 
 | ||||
| // Добавление вагона в конец списка
 | ||||
| struct car* add_car(struct car* first, const char* target) { | ||||
|     struct car* new_car = (struct car*)malloc(sizeof(struct car)); | ||||
|     if (!new_car) { | ||||
| @ -26,20 +27,23 @@ struct car* add_car(struct car* first, const char* target) { | ||||
|     return first; | ||||
| } | ||||
| 
 | ||||
| // Вывод содержимого поезда
 | ||||
| void print_train(struct car* first) { | ||||
|     struct car* current = first; | ||||
|      | ||||
|     if (current == NULL) { | ||||
|         printf("Vlak je prazdny.\n"); | ||||
|         printf("The train is empty.\n"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     printf("Train composition:\n"); | ||||
|     while (current != NULL) { | ||||
|         printf("%s\n", current->value); | ||||
|         current = current->next; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Удаление всех вагонов, освобождение памяти
 | ||||
| void cancel_train(struct car* first) { | ||||
|     struct car* current = first; | ||||
|      | ||||
| @ -50,6 +54,7 @@ void cancel_train(struct car* first) { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Удаление вагонов с заданным направлением
 | ||||
| struct car* clear_train(struct car* first, const char* target) { | ||||
|     struct car* current = first; | ||||
|     struct car* prev = NULL; | ||||
|  | ||||
							
								
								
									
										49
									
								
								cv4/main.c
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								cv4/main.c
									
									
									
									
									
								
							| @ -1,22 +1,51 @@ | ||||
| #include "a_train.h" | ||||
| #include <stdlib.h> | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| int main() { | ||||
|     struct car* train = NULL; | ||||
|     char input[SIZE]; | ||||
|     int option; | ||||
| 
 | ||||
|     train = add_car(train, "Bratislava"); | ||||
|     train = add_car(train, "Kosice"); | ||||
|     train = add_car(train, "Zilina"); | ||||
|     do { | ||||
|         printf("\n--- Train Management ---\n"); | ||||
|         printf("1. Add a car to the train\n"); | ||||
|         printf("2. Print the train\n"); | ||||
|         printf("3. Remove cars to Levoča\n"); | ||||
|         printf("4. Exit\n"); | ||||
|         printf("Select an option: "); | ||||
|         scanf("%d", &option); | ||||
|         getchar(); // Считываем символ новой строки после ввода числа
 | ||||
| 
 | ||||
|     printf("Vsetky stanice vo vlaku:\n"); | ||||
|     print_train(train); | ||||
|         switch (option) { | ||||
|             case 1: | ||||
|                 printf("Enter the destination: "); | ||||
|                 fgets(input, SIZE, stdin); | ||||
|                 input[strcspn(input, "\n")] = '\0'; // Удаляем символ новой строки
 | ||||
|                 train = add_car(train, input); | ||||
|                 printf("Car added to the train.\n"); | ||||
|                 break; | ||||
| 
 | ||||
|     printf("\nVyradujeme stanicu 'Kosice':\n"); | ||||
|     train = clear_train(train, "Kosice"); | ||||
|     print_train(train); | ||||
|             case 2: | ||||
|                 print_train(train); | ||||
|                 break; | ||||
| 
 | ||||
|     printf("\nZrusenie celeho vlaku:\n"); | ||||
|     cancel_train(train); | ||||
|             case 3: | ||||
|                 train = clear_train(train, "Levoča"); | ||||
|                 printf("All cars to Levoča have been removed.\n"); | ||||
|                 break; | ||||
| 
 | ||||
|             case 4: | ||||
|                 printf("Exiting and releasing memory.\n"); | ||||
|                 cancel_train(train); | ||||
|                 train = NULL; | ||||
|                 break; | ||||
| 
 | ||||
|             default: | ||||
|                 printf("Invalid option. Please try again.\n"); | ||||
|         } | ||||
|     } while (option != 4); | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user