#include #include #include "func.h" struct wenzel *ostatni(struct wenzel *p) { struct wenzel *a; a=p; if(p=NULL) { return NULL; } while(a->nastepny!=NULL) { a=a->nastepny; } return a; } struct wenzel *init() { struct wenzel *aktualny; aktualny=(struct wenzel *)malloc(sizeof(struct wenzel)); printf("Init done\n"); return aktualny; } int dodaj(struct wenzel *koniec,int liczban) { struct wenzel *aktualny; aktualny=(struct wenzel *)malloc(sizeof(struct wenzel)); if (aktualny==NULL) { return 1; } aktualny->liczba=liczban; koniec->nastepny=aktualny; aktualny->nastepny=NULL; return 0; } struct wenzel *przedostatni(struct wenzel *p) { struct wenzel *aktualny; aktualny=p; if (aktualny->nastepny!=NULL) { while(aktualny->nastepny->nastepny!=NULL) { aktualny=aktualny->nastepny; } } else { return NULL; } return aktualny; } void zamien(struct wenzel *p) { struct wenzel *aktualny,*z; int i=0; while(przedostatni(p)!=NULL) { z=ostatni(p); aktualny=przedostatni(p); z->nastepny=aktualny; aktualny->nastepny=NULL; } } int czytaj(char *nazwa_pliku,struct wenzel *p) { FILE *wplik; int a,b,i=0; char *tryb_o="r"; struct wenzel *aktualny; aktualny=ostatni(p); wplik=fopen(nazwa_pliku,tryb_o); if (wplik==NULL) { return 1; } while(fscanf(wplik,"%d\n",&a)!=EOF) { printf("Przeczytalem z pliku %d\n",a); dodaj(ostatni(p),a); } fclose(wplik); return 0; } int zapisz(char *nazwa_pliku,struct wenzel *p) { FILE *wplik; char *tryb_w="w"; int i=0; struct wenzel *aktualny; aktualny=p; wplik=fopen(nazwa_pliku,tryb_w); if (wplik==NULL) { return 1; } while(aktualny->nastepny!=NULL) { fprintf(wplik,"%d\n",aktualny->liczba); printf("Zapisalem do pliku %d\n",aktualny->liczba); aktualny=aktualny->nastepny; } fclose(wplik); return 0; }