/* Zadatak 3 - Nikola Trajkovic, 232/2000 */ #include int strlength(char s[]); int strcomp(char s1[], char s2[]); void strcopy(char s1[], char s2[], char c1, char c2, int i); int atoi(char s[]); void ime_mail(char s[], char ime[], char mail[]); main(int argc, char *argv[]) { char line[100], kontakt[100]="", ime[50]="", mail[50]="", indeks[10]="", temp[10], p1[5], p2[5]; long int br=0, bz=0; int p[40],i=0,j=0,poz; do { gets(line); bz+=strlength(line); br++; if (poz=strcomp(line,"',poz-1); else if (poz=strcomp(line, "',poz-1); else; } while (!strcomp(line, "='a' && s1[i+j]<='z') a=s1[i+j]-('a'-'A'); else a=s1[i+j]; if (s2[j]>='a' && s2[j]<='z') b=s2[j]-('a'-'A'); else b=s2[j]; p=(a==b); } if (p) return (i+1); } return (0); } /* Kopira iz s1 u s2 sve sto se nalazi izmedju znakova c1 i c2 */ /* pocevsi od od pozicije i u stringu s1. To je bilo potrebno zbog toga sto se */ /* etiketa moze pojaviti bilo gde u redu a ne samo na pocetku reda. */ void strcopy(char s1[], char s2[], char c1, char c2, int i) { int j; for( ; s1[i] && s1[i]!=c1 ; i++); if (s1[i]=='\0') s2[0]='\0'; else { for(++i, j=0 ; s1[i] && s1[i]!=c2 ; i++, j++) s2[j]=s1[i]; s2[j]='\0'; } } /* f-ja konvertuje string u ceo broj. f-ja je ogranicena na */ /* pozitivne brojeve ali to u ovom slucaju nije bitno jer /* brojevi strana mogu biti samo pozitivni /* int atoi(char s[]) { int n=0,i=0; while (s[i]) n=n*10+(s[i++]-'0'); return (n); } /* f-ja razdvaja ime i prezime od e-mail adrese */ /* i smesta ih u odgovarajuce promenljive */ void ime_mail(char s[], char ime[], char mail[]) { int i,j; for(i=strlength(s)-1 ; i>=0 && s[i]!='@' ; i--); if (i==-1) { mail[0]='\0'; for(j=0 ; s[j] ; j++) ime[j]=s[j]; ime[j]='\0'; } else { for(--i ; s[i]!=';' && i>=0; i--); if (i==-1) { mail[0]='\0'; for(j=0 ; s[j] ; j++) ime[j]=s[j]; s[j]='\0'; } else { for(j=0 ; j