Ovo mi je samo kod za testiranje, nebi da kacim kod onoga sto pravim, ima mnogo.
Zasto mi ne radi citanje iz fajla... ne mogu vise da se mucim...
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_DUZ 200
typedef struct elementListe
{
char *infixizraza;
struct elementListe *next;
} ElementListe;
typedef struct lista
{
struct elementListe *prvi;
struct elementListe *poslednji;
} Lista;
ElementListe *NapraviElement(char *infix)
{
ElementListe *e;
e = malloc(sizeof(ElementListe));
e -> next = NULL;
e -> infixizraza = malloc(strlen(infix)+1);
strcpy(e -> infixizraza, infix);
return e;
}
Lista *NapraviListu()
{
Lista *l;
l = malloc(sizeof(Lista));
l-> prvi = NULL;
l-> poslednji = NULL;
return l;
}
void DodajUListu(Lista *l, ElementListe *e)
{
if(!l->prvi) l->prvi = e;
else l->poslednji->next = e;
l->poslednji = e;
}
void IspisiListu(Lista *l)
{
ElementListe *pom = l->prvi;
while(pom){puts(pom->infixizraza);pom = pom->next;}
}
int DuzinaListe(Lista *l)
{
int br=0;
ElementListe *pom = l->prvi;
while(pom){br++;pom = pom->next;}
return br;
}
void UpisiUFajl(Lista *l, char imefajla[1000])
{
FILE *fajl;
fajl = fopen(imefajla,"a+");
ElementListe *pom = l->prvi;
while(pom){
fprintf(fajl,"%s\n",pom->infixizraza);
pom = pom->next;
}
fclose(fajl);
}
void CitajIzFajla(Lista *l, char imefajla[1000])
{
FILE *fajl;
char *inf;
if ((fajl = fopen(imefajla,"r")) == NULL)
{
printf("Fajl ne postoji !\n");return 0;
}
fajl = fopen(imefajla,"r");
while(feof(fajl))
{
inf = malloc(MAX_DUZ);
fgets(inf, MAX_DUZ, fajl);
DodajUListu(l,NapraviElement(inf));
}
}
main ()
{
Lista *lista;
int a=0;
char ime[1000];
lista = NapraviListu();
printf("%d\n", DuzinaListe(lista));
printf("Unesite ime fajla: ");scanf("%s", ime);
CitajIzFajla(lista,ime);
IspisiListu(lista);
printf("%d", DuzinaListe(lista));
system("PAUSE");
}