Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct Element_s
- {
- char name[256];
- //long duration; //Sekunden;
- char interpreteur[256];
- struct Element_s *next;
- struct Element_s *prev;
- } Element_t;
- void read_in(Element_t *item);
- Element_t *allocate();
- Element_t *push_back(Element_t *list);
- Element_t *find_end(Element_t *list);
- void cleanup_list(Element_t **list);
- void print_element(Element_t *element);
- void print_list(Element_t *list);
- void print_list_reverse(Element_t *list);
- int main()
- {
- printf("Hello world!\n");
- return 0;
- }
- void read_in(Element_t *item)
- {
- printf("Name: ");
- fgets(item->name, 256, stdin);
- printf("Interpreteur: ");
- fgets(item->interpreteur, 256, stdin);
- while(getchar() != '\n');
- }
- Element_t *allocate()
- {
- Element_t *element = malloc(sizeof(Element_t));
- if(element == 0)
- {
- fprintf(stderr, "Error! No memory available!");
- //return 0;
- }
- else
- {
- read_in(element);
- element->prev = 0;
- element->next = 0;
- }
- return element;
- }
- Element_t *find_end(Element_t *list)
- {
- while(list->next != 0)
- list = list->next;
- return list;
- }
- Element_t *push_back(Element_t *list)
- {
- Element_t *element = allocate();
- if (element == 0)
- {
- fprintf(stderr, "Error: No memory allocated for push_back!\n");
- return list;
- }
- if(list != 0)
- {
- Element_t *end = find_end(list);
- element->prev = end;
- end->next = element;
- }
- else
- {
- list = element;
- }
- return list;
- }
- void cleanup_list(Element_t **list)
- {
- Element_t *s = *list;
- Element_t *t = s;
- while(t != 0)
- {
- t = t->next;
- free(s);
- s = t;
- }
- printf("\nMemory freed.\n");
- }
- void print_element(Element_t *element)
- {
- if(element != 0)
- {
- printf("\nName: %s", element->name);
- printf("\nInterpreteur: %s", element->interpreteur);
- }
- else
- printf("\nDie Stelle ist leer!");
- }
- void print_list(Element_t *list)
- {
- long i=0;
- while(list != 0)
- {
- i++;
- printf("Song %ld .", i);
- print_element(list);
- list = list->next;
- }
- }
- void print_list_reverse(Element_t *list)
- {
- if(list != 0)
- {
- print_list_reverse(list->next);
- print_element(list);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement