 /*Listes Ivan
   Programiranje I
   Seminarski rad*/

 #include <stdio.h>
 
 typedef struct { char Ime[20];
                  char Adresa[20];
                  char Telefon[20];
                } Struktura;

 /*Prototipovi funkcija*/

 void funkcija_unos( Struktura *);
 void funkcija_unos_2( Struktura *);
 void funkcija_pregled( Struktura *);
 void funkcija_pomoc(void);

 main()
 {
  
  Struktura Adresar[20];
  int izbor;

  /*Graficko suucelje*/
  
  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*           LAdresar v.1            *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*        1. Unos korisnika          *");
  fprintf(stdout,"\n\t*        2. Pregled korisnika       *");
  fprintf(stdout,"\n\t*        3. Pomoc                   *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");
  
  
  /*Odabiranje koraka*/
 
  fprintf(stdout,"\n\n\tMolimo Vas, odaberite sljedeci korak..");
  scanf("%d",&izbor);
    
  /*Provjera uvjeta*/

  if(izbor==1)
  funkcija_unos(Adresar);
  else {
       if(izbor==2)
       funkcija_pregled(Adresar);
       else {
            if(izbor==3)
            funkcija_pomoc();
            else {
                 fprintf(stdout,"\n\tKrivi unos, nastavak nije moguc!");
                 }    
            }
       }
  return 0;

 }


 void funkcija_unos ( Struktura *Adresar )
 {

  int i=0, izbor;
  FILE *pf;
  
  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*           LAdresar v.1            *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*        1. Unos korisnika          *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");

  /*Unos podataka*/

  fprintf(stdout,"\n\tUnesite ime korisnika..");
  scanf(" %[^'\n']",Adresar[i].Ime);
 
  fprintf(stdout,"\n\tUnesite adresu korisnika..");
  scanf(" %[^'\n']",Adresar[i].Adresa);
  
  fprintf(stdout,"\n\tUnesite telefon korisnika..");
  scanf(" %[^'\n']",Adresar[i].Telefon);

  fprintf(stdout,"\n\t%s \n\t%s \n\t%s", Adresar[i].Ime, Adresar[i].Adresa,Adresar[i].Telefon);
    
  i++;

  /*Zapisivanje broja korisnika u datoteku*/
    
  pf=fopen("broj_korisnika.txt","w");
  fprintf(pf,"%d",i);
  fclose(pf);

  fprintf(stdout,"\n\n\tMolimo Vas, odaberite sljedeci korak..");
  scanf("%d", &izbor);

  /*Provjera uvjeta*/

  if(izbor==1)
  funkcija_unos_2(Adresar);
  else {
       if(izbor==2)
       funkcija_pregled(Adresar);
       else {
            if(izbor==3)
            funkcija_pomoc();
            else {
                 fprintf(stdout,"\n\tKrivi unos, nastavak nije moguc!");
                 }   
            }
       }
 }


 void funkcija_unos_2 ( Struktura *Adresar )
 {

  int i, izbor;
  FILE *pf;
  
  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*           LAdresar v.1            *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*        1. Unos korisnika          *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");

  /*Citanje broja korisnika*/

  pf=fopen("broj_korisnika.txt","r");
  fscanf(pf,"%d",&i); 
  fclose(pf);

  /*Unos podataka*/

  fprintf(stdout,"\n\tUnesite ime korisnika..");
  scanf(" %[^'\n']",Adresar[i].Ime);
 
  fprintf(stdout,"\n\tUnesite adresu korisnika..");
  scanf(" %[^'\n']",Adresar[i].Adresa);
  
  fprintf(stdout,"\n\tUnesite telefon korisnika..");
  scanf(" %[^'\n']",Adresar[i].Telefon);

  fprintf(stdout,"\n\t%s \n\t%s \n\t%s", Adresar[i].Ime, Adresar[i].Adresa,Adresar[i].Telefon);  
  
  i++;
    
  /*Zapisivanje broja korisnika u datoteku*/

  pf=fopen("broj_korisnika.txt","w");
  fprintf(pf,"%d",i);
  fclose(pf);

  fprintf(stdout,"\n\n\tMolimo Vas, odaberite sljedeci korak..");
  scanf("%d", &izbor);

  /*Provjera uvjeta*/

  if(izbor==1)
  funkcija_unos_2(Adresar);
  else {
       if(izbor==2)
       funkcija_pregled(Adresar);
       else {
            if(izbor==3)
            funkcija_pomoc();
            else {
                 fprintf(stdout,"\n\tKrivi unos, nastavak nije moguc!");
                 }
            }
       }
 }


void funkcija_pregled( Struktura *Adresar )
{

  int i,j;
  int izbor;
  FILE *pf;

  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*           LAdresar v.1            *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*       2. Pregled korisnika        *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");

  /*Citanje broja korisnika*/

  pf=fopen("broj_korisnika.txt","r");
  fscanf(pf,"%d",&i);
  fclose(pf);
   
  /*Ispisivanje podataka*/

  for(j=0;j<i;j++)
  fprintf(stdout,"\n\n\t%s \n\t%s \n\t%s\n\t\n\t", Adresar[j].Ime, Adresar[j].Adresa,Adresar[j].Telefon);
  fclose(pf);

  fprintf(stdout,"\n\tMolimo Vas, odaberite sljedeci korak..");

  scanf("%d", &izbor);

  /*Provjera uvjeta*/

  if(izbor==1)
  funkcija_unos(Adresar);
  else {
       if(izbor==2)
       funkcija_pregled(Adresar);
       else {
            if(izbor==3)
            funkcija_pomoc();
            else {
                 fprintf(stdout,"\n\tKrivi unos, nastavak nije moguc!");
                 }
            }
       }
}


void funkcija_pomoc( void )
{

  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*           LAdresar v.1            *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*       3.      Pomoc               *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");

  fprintf(stdout,"\n\t*************************************");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t* Koristenje programa je krajnje    *");
  fprintf(stdout,"\n\t* jednostavno; sve sto je potrebno  *");
  fprintf(stdout,"\n\t* napraviti jest odabrati broj koji *");
  fprintf(stdout,"\n\t* odgovara koraku koji zelite!      *");
  fprintf(stdout,"\n\t* Za sva moguca pitanja, obratiti   *");
  fprintf(stdout,"\n\t* se autoru.                        *");
  fprintf(stdout,"\n\t*                                   *");
  fprintf(stdout,"\n\t*************************************");                  

}

















