Return to Snippet

Revision: 34529
at October 24, 2010 05:47 by barrogar


Initial Code
struct tpacijent {
       int mb;
       char ime[30];
       int godine;
}pacijent;

typedef int element;

struct list {
       int mb[100];
       char ime[100][30];
       int godine[100];
       int cursor;
};

element EndL (list* L) {
        return L->cursor; 
};

element FirstL (list* L) {
        if (L->cursor == 0) 
           return EndL(L); 
        else
           return 0;
};

element NextL (element p, list* L) {
        if (p > L->cursor)
           return 0; 
        if (p == EndL(L)) 
           return 0;
        else 
           return p+=1;
};

element PreviousL (element p, list* L) {
        if (p > L->cursor)
           return 0;
        if (p == FirstL(L))
           return 0; 
        else
           return p-=1;       
};

element LocateL (tpacijent x, list* L) {
        for (int lokacija=0; lokacija < L->cursor; lokacija++) 
            if(L->mb[lokacija]==x.mb)
               return lokacija; 
        return EndL(L);     
};

int InsertL (tpacijent x, int p, list* L) {
        if (p > L->cursor)
           return 0; 
        L->cursor=L->cursor+1;
        for (int lokacija=L->cursor-1; lokacija >= p; lokacija--) {
            L->mb[lokacija+1] = L->mb[lokacija];
            strcpy(L->ime[lokacija+1], L->ime[lokacija]);
            L->godine[lokacija+1] = L->godine[lokacija];
        } 
        L->mb[p] = x.mb;

        strcpy(L->ime[p], x.ime);
        L->godine[p] = x.godine; 
        return 1;
};

element DeleteL (element p, list* L) {
        if (p > L->cursor)
           return 0;
        for (int lokacija = p; lokacija < L->cursor-1; lokacija++) {
            L->mb[lokacija] = L->mb[lokacija+1];
            strcpy(L->ime[lokacija], L->ime[lokacija+1]);
            L->godine[lokacija] = L->godine[lokacija+1];
        }
        return 1;
};

tpacijent RetrieveL (element p, list* L) {
        pacijent.mb = L->mb[p];
        strcpy(pacijent.ime, L->ime[p]);
        pacijent.godine = L->godine[p]; 
        return pacijent;    
};

void DeleteAllL (list* L) {
       L->cursor = 0;      
};

list* InitL (list* L) {
      L = new list;
      L -> cursor = 0; 
      return L; 
};

Initial URL


Initial Description


Initial Title
Sp zadatak 1 polja, Barbara Rogar

Initial Tags


Initial Language
C++