Showing posts with label Fajlovi. Show all posts
Showing posts with label Fajlovi. Show all posts

Wednesday, April 15, 2015

#4 Unos strukture koka u fajl i ispis fajla na ekran

// Napraviti program za unos strukture koka,
// koka.ime, koka.dana7 (jaja za sedam dana)
//  u fajl, i njihov ispis na ekran.
#include<stdio.h>
#include<conio.h>
#include<string.h>

FILE *pKoke;
struct s_koka{
      char ime[20];
      int dana7;    
};
void unos(struct s_koka *koka){
     printf("ime:");scanf("%s",&koka->ime);
     printf("jaja u dana7:");scanf("%d",&koka->dana7);
     //printf("ende unos gotov");
     }
void ispis(struct s_koka *koka){
      //printf("ispis \n");
      printf("ime:%s",koka->ime);
      printf("jaja u dana7:%d",koka->dana7);
      //printf("ende ispis \n");
     }
void upisFajl(FILE* pf,struct s_koka *koka){
     // ispravi
      //printf("unos u fajl \n");
       fprintf(pf,"%s\n",koka->ime);
       fprintf(pf,"%d\n",koka->dana7);
      //printf("ende unos u fajl \n");
     }
void ispisFajl(FILE *pf){
     //printf("ispis fajl");
     char slovo;
     rewind(pf);
      while ((slovo=fgetc(pf))!=EOF){
            putch(slovo);
      }
      puts("\n");
      //printf("ende ispis u fajl");
    }



main(){
  pKoke=fopen("koke.txt","w+");
 
  struct s_koka koka;

 char jabuka='@';

 if (pKoke!=NULL){

 
  do{
     puts("*** koka ***");
     unos(&koka);
       if( strcmp(koka.ime,"exit")!=0){// pisi ako nije koka exit
        upisFajl(pKoke,&koka);
       }  
   }while( strcmp(koka.ime,"exit")!=0);
   
      // ispis
    printf("\n *** *** Koke ispis iz fajla*** ***\n");
     ispisFajl(pKoke);


   }else{
       printf("Nemogu da kreiram ili otvorim koke.txt fajl\n");
   }


 fclose(pKoke);
 
 
 getch();    
}

Wednesday, April 1, 2015

#4 Unos jabuka c, y, z u istoimene fajlove dok se neunese x za kraj, zatim ispis jabuka iz fajlova

#include<stdio.h>
#include<conio.h>
// program za unos jabuka c-crvene, y-zute, z-zelene u istoimene txt fajlove
// jabuke se unose dok se neunese x
// po zavrsetku unosa ispisati unete jabuke iz fajlova na ekran
 FILE *pc,*py,*pz;

void unos(char* jabuka){
     printf("jabuka:");
     scanf(" %c",jabuka);
     }
void ispis(char* jabuka){
     printf("@%c",*jabuka);
     }
void upisFajl(FILE* pf,char jabuka){
       fputc(jabuka,pf);
     }
void ispisFajl(FILE *pf){
     char jabuka;
     rewind(pf);
      while ((jabuka=fgetc(pf))!=EOF){
            putch(jabuka);
      }
      puts("\n");
    }
int ifc(char jabuka){
 return (  (jabuka=='x')||(jabuka=='X'));
}
main(){
     
 pc=fopen("crvene.txt","w+");
 py=fopen("zute.txt","w+");
 pz=fopen("zelene.txt","w+");

 char jabuka='@';

 if (pc!=NULL){
  if (py!=NULL){
   if (pz!=NULL){
         
  do{
   unos(&jabuka);
 
    switch(jabuka){
     case 'c': case 'C':
         upisFajl(pc,jabuka);
     break;
     case 'y': case 'Y':
         upisFajl(py,jabuka);
     break;
     case 'z': case 'Z':
         upisFajl(pz,jabuka);
     break;
     case 'x': case 'X':
         // neradi nista
     break;
     default:
     printf("nije jabuka\n");
     break;      
    }          
   }while( (jabuka=='x' || jabuka=='X')!=1);
   
      // ispis
 puts("crvene::\n");
  ispisFajl(pc);
 puts("zute::\n");
  ispisFajl(py);
 puts("zelene::\n");
  ispisFajl(pz);
 //zatvaranje
 
   }else{
       printf("Nemogu da kreiram ili otvorim zelene.txt fajl\n");
   }        
  }else{
       printf("Nemogu da kreiram ili otvorim zute.txt fajl\n");
  }        
 }else{
       printf("Nemogu da kreiram ili otvorim fajl crvene.txt \n");
 }


 fclose(pc);
 fclose(py);
 fclose(pz);
 getch();    
}

Monday, March 16, 2015

#5 Pisanje i citanje 3 strukture iz binarnog fajla

#include<stdio.h>
#include<conio.h>
#include<string.h>

// ime fajla

#define fOsoba "osoba.dat"
#define max_niza 3

// pisanje i citanje 3 strukture ili struktura iz fajla

 struct s_osoba{
    char ime[20];
    char prezime[20];
    int godine;      
 };

 void osoba_unos(struct s_osoba *osoba);
 void osoba_ispis(struct s_osoba *osoba);

 void osoba_fUnos(FILE *fp,struct s_osoba *osoba);
 void osoba_fIspis(FILE *fp,struct s_osoba *osoba);

 // rad sa vise osoba
 void osobe_unos(struct s_osoba osobe[], int max);
 void osobe_ispis(struct s_osoba osobe[], int max);
 
 void osoba_fUnosBin(FILE *fp,struct s_osoba *osoba);
 void osoba_fIspisBin(FILE *fp,struct s_osoba *osoba);


 void osobe_fUnosBin(FILE *fp,struct s_osoba osoba[],int max);
 void osobe_fIspisBin(FILE *fp,struct s_osoba osoba[]);

 // jedna osoba
 struct s_osoba osoba;
 // niz osoba
 struct s_osoba osobe[max_niza];
 main(){
        printf("Program za unos i citanje 3 strukture iz binarnog fajla \n");
        FILE *fp=fopen(fOsoba,"wb");
         //unos strukture sa tastature
         osobe_unos(osobe,max_niza);
         // upis u fajl
         osobe_fUnosBin(fp,&osoba,max_niza);
         // citanje iz fajla
         osobe_fIspisBin(fp,&osoba);
          // ispis strukture na ekran
          osobe_ispis(osobe,max_niza);
          //
         
          fclose(fp);
         getch();      
}

void osoba_unos(struct s_osoba *osoba){
        printf("osoba.ime=");scanf("%s",&osoba->ime);
        printf("osoba.prezime=");scanf("%s",&osoba->prezime);
        printf("osoba.godine=");scanf("%d",&osoba->godine);
     }
void osoba_ispis(struct s_osoba *osoba){
        printf("osoba.ime=%s\n",osoba->ime);
        printf("osoba.prezime=%s\n",osoba->prezime);
        printf("osoba.godine=%d\n",osoba->godine);
     }
void osobe_unos(struct s_osoba osobe[],int max){
      printf("\n##################### UNOS #################### \n");
        for (int i=0;i<max;i++){
         printf("****** OSOBA ****** \n");
          struct s_osoba osoba;
          osoba_unos(&osoba);
          osobe[i]=osoba;
        }
     }
void osobe_ispis(struct s_osoba osobe[], int max){
      printf("\n##################### ISPIS #################### \n");
        for (int i=0;i<max;i++){
          printf("****** OSOBA ****** \n");
          osoba_ispis(&osobe[i]);
        }
     }
void osoba_fUnos(FILE *fp,struct s_osoba *osoba){
      if (fp!=NULL){
        fprintf(fp,"%s\n",osoba->ime);
        fprintf(fp,"%s\n",osoba->prezime);
        fprintf(fp,"%d\n",osoba->godine);
       }
       else{
       printf("Cant read or create file");
       }
     }
 void osoba_fIspis(FILE *fp,struct s_osoba *osoba){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
         char str[20];
        fgets(str,20,fp); strcpy(osoba->ime,str);
        fgets(str,20,fp); strcpy(osoba->prezime,str);
        fscanf (fp, "%d", &osoba->godine);
       
       }
       else{
       printf("Cant read or create file");
       }
     }
void osoba_fUnosBin(FILE *fp,struct s_osoba *osoba){
      if (fp!=NULL){
        fwrite(osoba, sizeof(struct s_osoba), 1, fp);
       }
       else{
       printf("Cant read or create file");
       }
     }

  void osoba_fIspisBin(FILE *fp,struct s_osoba *osoba){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
       fread(osoba,sizeof(struct s_osoba),1,fp);
       }
       else{
       printf("Cant read or create file");
       }
     }
void osobe_fUnosBin(FILE *fp,struct s_osoba osobe[],int max){
      if (fp!=NULL){
         for(int i=0;i<max;i++){
               fwrite(&osobe[i], sizeof(struct s_osoba), 1, fp);
         }
       }
       else{
       printf("Cant read or create file");
       }
     }

  void osobe_fIspisBin(FILE *fp,struct s_osoba osobe[]){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
       // citaj sve dok je velicna procitanog ista kao velicina strukture
       struct s_osoba osoba;
       int i=0;
        while ( fread(&osoba,sizeof(struct s_osoba),1,fp)== sizeof(struct s_osoba)) {
        /* byte swap here */
          osobe[i]=osoba;
          struct s_osoba osoba;
          i++;
        }
     
       }
       else{
       printf("Cant read or create file");
       }
     }

Monday, March 9, 2015

#3 Pisanje i citanje strukture iz fajla

#include<stdio.h>
#include<conio.h>
#include<string.h>

// pisanje i citnaje strukture iz fajla
 struct s_person{
    char name[20];
    char surname[20];
    int age;      
 };

 void person_input(struct s_person *person);
 void person_output(struct s_person *person);

 void person_fWrite(FILE *fp,struct s_person *person);
 void person_fRead(FILE *fp,struct s_person *person);

 struct s_person person;

 main(){
       
        FILE *fp=fopen("fStruct.txt","w+");
         //unos strukture sa tastature
         person_input(&person);
         // upis u fajl
         person_fWrite(fp,&person);
         // citanje iz fajla
         person_fRead(fp,&person);
          // ispis strukture na ekran
          person_output(&person);
          //
         
          fclose(fp);
         getch();      
}

void person_input(struct s_person *person){
        printf("person.name=");scanf("%s",&person->name);
        printf("person.surname=");scanf("%s",&person->surname);
        printf("person.age=");scanf("%d",&person->age);
     }
void person_output(struct s_person *person){
        printf("person.name=%s",person->name);
        printf("person.surname=%s",person->surname);
        printf("person.age=%d",person->age);
     }
void person_fWrite(FILE *fp,struct s_person *person){
      if (fp!=NULL){
        fprintf(fp,"%s\n",person->name);
        fprintf(fp,"%s\n",person->surname);
        fprintf(fp,"%d\n",person->age);
       }
       else{
       printf("Cant read or create file");
       }
     }
 void person_fRead(FILE *fp,struct s_person *person){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
         char str[20];
        fgets(str,20,fp); strcpy(person->name,str);
        fgets(str,20,fp); strcpy(person->surname,str);
        fscanf (fp, "%d", &person->age);
       
       }
       else{
       printf("Cant read or create file");
       }
     }

Monday, March 18, 2013

#4 Fajl pisanje i citanje vise poruka u fajl


#include<stdio.h>
#include<conio.h>


void fajl_pisi(FILE *file,char poruka[256]);
void fajl_citaj(FILE *file);
int broj_poruka=0;
FILE *fajl_poruka;
main(){

  // uneti neke poruke koliko zelim poruka i upisati ih u fajl
  // zatim iscitati te poruke iz fajla
  printf("Program za unos vise poruka u fajl i njihov ispis\n ");
  // koliko zelis poruka
   printf("Koliko zelite poruka da unesete \n ");
   printf("broj_poruka=");scanf("%d",&broj_poruka);
   printf("**********************************************************************\n");
   printf("Molim vas unestie vase poruke jednu po jednu i pritisnite ENTER \n");
   // otvaram neki fajl za unos
   fajl_poruka=fopen("poruke.txt","w+");
   //for petlja unos poruka
   for(int i=0;i<broj_poruka;i++){
      char poruka[256];
      printf("poruka %d \n",i+1);
      scanf("%s",&poruka);
      // unos poruka u fajl
      fajl_pisi(fajl_poruka,poruka);              
   }
  // iscitavnaje poruka iz fajl

    fajl_citaj(fajl_poruka);
   
   fclose(fajl_poruka);  
 getch();    
}

void fajl_pisi(FILE *file,char poruka[256]){
   if(file!=NULL){          
     fprintf(file, "\n %s",poruka); // upisivanje podataka u fajl
    }  
}
void fajl_citaj(FILE *file){
     char poruka[256];
  if (file!=NULL){
   rewind(file); // vrati na pocetak fajla pre citnaja
    while(fgets(poruka, 256, file) != NULL)
     {
     /* get a line, up to 80 chars from fr.  done if NULL */
     printf ("%s\n", poruka);
     }
  }
}

Thursday, March 14, 2013

#3 Pisanje niza ocena u paran i neparan fajl


#include<stdio.h>
#include<conio.h>

 const int max=3;
 int ocene[max];

 FILE *fParan,*fNeparan;
 void ocene_unos(int koliko);
 void ocene_provera(int koliko);
 void ocene_ispis(int koliko);

void file_upis(FILE *file,int ocena);
void file_ispis(FILE *file);
   int ocena=0;
main(){
     
   printf("Molim vas unesite %d ocena u niz\n",max);
   ocene_unos(max);
   printf("ocene ispis iz niza\n");
   ocene_ispis(max);
   // otvarnaje fajlova
     fParan=fopen("paran.txt","w+");
     fNeparan=fopen("neparan.txt","w+");
     // provera ocena i pisanje u fajl
   ocene_provera(max);
   // ispis sadrzaja fajlova
   // ispis parnog
   printf("Ispis parnih ocena iz fajla\n");
   file_ispis(fParan);
   printf("Ispis neparnih ocena iz fajla\n");
   file_ispis(fNeparan);
 
    fclose(fParan);
    fclose(fNeparan);
 getch();    
}

// Funkcije za unos
 void ocene_unos(int koliko){
  for (int i=0;i<koliko;i++){
       printf("ocene[%d]=",i+1);
       scanf("%d",&ocene[i]);
      }  
 }
  void ocene_ispis(int koliko){
  for (int i=0;i<koliko;i++){
       printf("ocene[%d]=%d\n",i+1,ocene[i]);
      }  
 }
 // provera d ali je paran ili neparna sa upisom u fajl
  void ocene_provera(int koliko){
    for (int i=0;i<koliko;i++){
       if (ocene[i]%2==0) file_upis(fParan,ocene[i]);
       else file_upis(fNeparan,ocene[i]);
      }    
  }
 // rad sa fajlovima
  void file_upis(FILE *file,int ocena){
       if (file!=NULL){
          fprintf(file,"%d\n",ocena);                
          }  
      }  
   void file_ispis(FILE *file){
       if (file!=NULL){
          rewind(file);
          while(fscanf(file,"%d",&ocena)!=EOF){
          printf("%d\n",ocena);              
          }                
       }
     }


Wednesday, March 9, 2011

#4 File pisanje i iscitavanje strukture iz fajla

//Filovi i fajl sistem citanje i pisanje fajla
#include<stdio.h>
#include<conio.h>
#include<string.h>
char poruka[256];
char proc_poruka[256];//procitana poruka;
struct s_automobil{
       char id[10];
       char marka[20];
       char tip[20];
       char boja[10];
       char cena[20];
       };
struct s_automobil automobil,automobil2;
main(){
     printf("Program unosi stukturu automobil u fajl i iscitava je \n");
     printf("Automobil struktura \n");
     printf("Broj:");scanf("%s",automobil.id);
     printf("Marka:");scanf("%s",automobil.marka);
     printf("Tip:");scanf("%s",automobil.tip);
     printf("Boja:");scanf("%s",automobil.boja);
     printf("Cena:");scanf("%s",automobil.cena);
      
    FILE *fp=fopen("test.txt", "w"); // otvaranje fajla na c disku
    if(fp!=NULL){           
     fprintf(fp,"%s\n ",automobil.id);
     fprintf(fp,"%s\n ",automobil.marka);
     fprintf(fp,"%s\n ",automobil.tip);
     fprintf(fp,"%s\n ",automobil.boja);
      fprintf(fp,"%s\n ",automobil.cena);
      printf("Vasa poruka je uspesno upisana pritisnite ENTER za citanje sadrzaja fajla\n\n");
       getch();
        fclose(fp);//zatvaranje fajla
    }
  
// Ponovno otvaranje fajla za citanje
 printf("Citanje poruka iz fajla red po red\n\n");
FILE *fp2=fopen("test.txt", "r"); // otvaranje fajla na c disku
 
   if (fgets(proc_poruka, 20, fp2)!=NULL); strcpy(automobil2.id,proc_poruka);
   if (fgets(proc_poruka, 20, fp2)!=NULL); strcpy(automobil2.marka,proc_poruka);
   if (fgets(proc_poruka, 20, fp2)!=NULL); strcpy(automobil2.tip,proc_poruka);
   if (fgets(proc_poruka, 20, fp2)!=NULL); strcpy(automobil2.boja,proc_poruka);
   if (fgets(proc_poruka, 20, fp2)!=NULL); strcpy(automobil2.cena,proc_poruka);
 
   printf("Struktura automobil iz fajla\n");
     printf("automobil2.id:%s\n",automobil2.id);
     printf("automobil2.marka:%s\n",automobil2.marka);
     printf("automobil2.tip:%s\n",automobil2.tip);
     printf("automobil2.boja:%s\n",automobil2.boja);
      printf("automobil2.cena:%s\n",automobil2.cena);
  fclose(fp2);//zatvaranje fajla
       getch();
}

#4 Citanje i pisanje u fajl sa proverom da li fajl postoji

//Filovi i fajl sistem citanje i pisanje fajla sa proverom
#include<stdio.h>
#include<conio.h>
char poruka[256];
char proc_poruka[256];//procitana poruka;
main(){
       printf("*******************************************************************************************************");
       printf("\n ***** Program otvara ili kreira fajl na putanji c:\\test.txt i u njega upisuje pozdravnu poruku ****\n\n");
       printf("---- Unesite pozdravnu poruku i pritisnite taster ENTER ----\n");
        gets(poruka);//
       
    FILE *fp=fopen("test.txt", "w"); // otvaranje fajla na c disku
    if(fp!=NULL){            
     fprintf(fp, "\n %s",poruka); // upisivanje podataka u fajl
      printf("Vasa poruka je uspesno upisana pritisnite ENTER za citanje sadrzaja fajla\n\n");
       getch();
        fclose(fp);//zatvaranje fajla
    }
   
// Ponovno otvaranje fajla za citanje
 printf("Citanje poruka iz fajla red po red\n\n");
FILE *fp2=fopen("test.txt", "r"); // otvaranje fajla na c disku
    while(fgets(proc_poruka, 256, fp2) != NULL)
   {
     /* get a line, up to 80 chars from fr.  done if NULL */
     printf ("%s\n", proc_poruka);
   }
  
  fclose(fp2);//zatvaranje fajla
       getch();
}

Wednesday, March 2, 2011

#4 C rad sa fajlovima osnovni zadatak pisanje i citanje

//Filovi i fajl sistem citanje i pisanje fajla
#include<stdio.h>
#include<conio.h>
char poruka[256];
char proc_poruka[256];//procitana poruka;
main(){
       printf("*******************************************************************************************************");
       printf("\n ***** Program otvara ili kreira fajl na putanji c:\\test.txt i u njega upisuje pozdravnu poruku ****\n\n");
       printf("---- Unesite pozdravnu poruku i pritisnite taster ENTER ----\n");
        gets(poruka);//
       
    FILE *fp;// definisanje pokazivaca na file tip
    fp=fopen("test.txt", "w"); // otvaranje fajla na c disku
    fprintf(fp, "\n %s",poruka); // upisivanje podataka u fajl
    printf("Vasa poruka je uspesno upisana pritisnite ENTER za citanje sadrzaja fajla\n\n");
    getch();
    fclose(fp);//zatvaranje fajla
   
// Ponovno otvaranje fajla za citanje
 printf("Citanje poruka iz fajla red po red\n\n");
FILE *fp2;// definisanje pokazivaca na file tip
    fp2=fopen("test.txt", "r"); // otvaranje fajla na c disku
    while(fgets(proc_poruka, 256, fp2) != NULL)
   {
     /* get a line, up to 80 chars from fr.  done if NULL */
     printf ("%s\n", proc_poruka);
   }
  
  fclose(fp2);//zatvaranje fajla
       getch();
}

#3 C rad sa fajlovima osnovni zadatak

//Filovi i fajl sistem
#include<stdio.h>
#include<conio.h>
char poruka[256];
main(){
       printf("*******************************************************************************************************");
       printf("\n ***** Program otvara ili kreira fajl na putanji c:\\test.txt i u njega upisuje pozdravnu poruku ****\n\n");
       printf("---- Unesite pozdravnu poruku i pritisnite taster ENTER ----\n");
        gets(poruka);//
        
    FILE *fp;// definisanje pokazivaca na file tip
    fp=fopen("test.txt", "w"); // otvaranje fajla na c disku
    fprintf(fp, poruka); // upisivanje podataka u fajl
    printf("Vasa poruka je uspesno upisana pritisnite ENTER za kraj programa\n");
    fclose(fp);//zatvaranje fajla
       getch();
}