Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 9999
- typedef struct{
- char *imie_aut;
- char *nazwisko_aut;
- char *tytul;
- double nr_kat;
- double cena;
- }ksiazka;
- typedef struct tag_list_element{
- struct tag_list_element *next;
- ksiazka data;
- }element_listy;
- typedef struct tag_list{
- element_listy *head;
- int size;
- }List;
- char* f_buforowa (void){ //dla charów
- char bufor[MAX];
- fgets (bufor, MAX, stdin);
- char *tmp;
- int wymiar;
- wymiar=strlen(bufor)+1;
- tmp=malloc (wymiar * sizeof(char));
- if (!tmp)
- {
- perror("malloc");
- exit (2);
- }
- for (int i=0;i<wymiar;i++){
- tmp[i]=bufor[i];
- }
- return tmp;
- }
- double f_buforowa_double (void){ //dla double
- double bufor;
- scanf ("%lf",&bufor);
- return bufor;
- }
- void uzupelnienie_struktury(ksiazka *data){
- printf("Podaj imię autora: ");
- data->imie_aut=f_buforowa();
- printf("Podaj nazwisko autora: ");
- data->nazwisko_aut=f_buforowa();
- printf("Podaj tytuł: ");
- data->tytul=f_buforowa();
- printf("Podaj nr katalogowy: ");
- data->nr_kat=f_buforowa_double();
- printf("Podaj cenę: ");
- data->cena=f_buforowa_double();
- char c = getchar();
- }
- void init (List*list){
- list->head=0;
- list->size=0;
- }
- void push_front(List*list, ksiazka data){
- element_listy *element = (element_listy*)malloc(sizeof(element_listy));
- element->next=list->head;
- element->data=data;
- list->head=element;
- list->size++;
- }
- void dumpList (const List *list){
- element_listy *i;
- for (i=list->head; i!=0; i=i->next){
- printf ("Imię autora: %sNazwisko autora: %sCena: %sNr_katalogowy: %lf\nCena: %lf \n", i->data.imie_aut, i->data.nazwisko_aut, i->data.tytul, i->data.nr_kat, i->data.cena);
- }
- printf("\n");
- }
- int main(int argc, char *argv[])
- {
- int i;
- ksiazka data, data2, data3;
- List list;
- init(&list);
- uzupelnienie_struktury(&data);
- push_front(&list, data);
- uzupelnienie_struktury(&data2);
- push_front(&list, data2);
- uzupelnienie_struktury(&data3);
- push_front(&list, data3);
- dumpList(&list);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement