diff --git a/du4/output/train.exe b/du4/output/train.exe index a900acb..67d8328 100644 Binary files a/du4/output/train.exe and b/du4/output/train.exe differ diff --git a/du4/train.c b/du4/train.c index f234435..efd5b2b 100644 --- a/du4/train.c +++ b/du4/train.c @@ -4,15 +4,15 @@ #include "train.h" struct car* add_car (struct car* first, const char* target) { - struct car* novyj_vagon = (struct car*) malloc(sizeof(struct car)); //создаём новую строку + struct car* novyj_vagon = (struct car*) malloc(sizeof(struct car)); // создаём новый вагон if (novyj_vagon == NULL) { printf("Chyba: nepodarilo sa vytvorit novy vozen!\n"); return first; } - strncpy(novyj_vagon->value, target, SIZE - 1); //Потому что строка в C всегда должна заканчиваться нулём - novyj_vagon->value[SIZE-1] = '/0'; + strncpy(novyj_vagon->value, target, SIZE - 1); + novyj_vagon->value[SIZE - 1] = '\0'; novyj_vagon->next = NULL; if (first == NULL) { @@ -20,27 +20,26 @@ struct car* add_car (struct car* first, const char* target) { } struct car* actual = first; - while (actual->next !=NULL) { + while (actual->next != NULL) { actual = actual->next; } actual->next = novyj_vagon; return first; - } void print_train (struct car* first) { if (first == NULL) { - printf("vlak je prazdny!"); + printf("vlak je prazdny!\n"); return; } struct car* actual = first; int schet = 1; - while (actual !=NULL) { - printf("%d. [%s]", actual->value); + while (actual != NULL) { + printf("%d. [%s]", schet, actual->value); if (actual->next != NULL) { - printf("->"); + printf(" -> "); } actual = actual->next; schet++; @@ -48,6 +47,17 @@ void print_train (struct car* first) { printf("\n"); } +void cancel_train (struct car* first) { + struct car* current = first; + while (current ! = NULL) { + struct car* next_one = current->next; + memset(current->value, 0, SIZE); + free(current); + current = next_one;; + } +} + + int main() { return 0; } \ No newline at end of file