diff --git a/cv4/a_train.c b/cv4/a_train.c index 3ecfbc8..8f276b8 100644 --- a/cv4/a_train.c +++ b/cv4/a_train.c @@ -2,13 +2,28 @@ #include struct car* add_car(struct car* first,const char* target) { - return NULL; + struct car* newcar = calloc(1,sizeof(struct car)); + strcpy(newcar->value, target); + struct car* this = first; + while (this->next != NULL) { + this = this->next; + } + this->next = newcar; + return first; } void print_train(struct car* first) { + while(first != NULL)( + printf("%s", first->value); + first->value = first->next + ) } void cancel_train(struct car* first) { + while(first != NULL){ + free(first->next); + first = first->next; + } }