You are on page 1of 7

1. Uitati sa tastature a. Ceo broj b. Realan broj c. Znak d. String e.

Strukturnu promenljivu uenik(ime, adresa, razred,odeljenje) i prikazati proitani podatak na ekranu 2. Proitati iz datoteke ulazna.txt a. Ceo broj b. Realan broj c. Znak d. String e. Strukturnu promenljivu uenik(ime, adresa, razred,odeljenje) i upisati proitani podatak u datoteku izlazna.txt 3. Napisati program koji ispisuje vrednost EOF. 4. a. Uitati tekst sa tastature i ispisati ga do kraja fajla (EOF (ctrl Z)). b. Napisati program koji odreuje broj linija u ulaznom tekstu. c. Napisati program koji odreuje broj linija i broj znakova u ulaznom tekstu. d. Napisati program kojim se ulazni tekst ifrira tako to se svaki znak zamenjuje sledeim znakom. 5. a. Uitati tekst iz datoteke ulazna.txt znak po znak i upisati u datoteku izlazna.txt. b. Napisati program koji odreuje broj linija u ulaznom tekstu. c. Napisati program koji odreuje broj znakova u ulaznom tekstu. d. Napisati program kojim se ulazni tekst ifrira tako to se svaki znak zamenjuje sledeim znakom. 6. Napisati program koji uitava n strukturnih promenljivih uenik(ime, adresa, razred,odeljenje) i zapisuje podatke u datoteku uenik.txt. Podaci jednog uenika su u jednom redu. 7. Napisati program koji koristi prethodno formiranu datoteku uenik.txt i prikazuje uenike razreda n i odeljenja m iz te datoteke. 8. Napisati program koji uitava n strukturnih promenljivih uenik(ime, adresa, razred,odeljenje) i zapisuje podatke u datoteku uenik.bin.Napisati program koji koristi prethodno formiranu datoteku uenik.bin i prikazuje uenike razreda n i odeljenja m iz te datoteke. Neki zadatak: #include <stdio.h> #define maxime 31 #define maxadr 41

#define maxos 20 struct licnost{ char ime [maxime] ; char adresa [maxadr]; unsigned starost; }; void citaj(struct licnost *osoba){ printf("Unesite ime osobe:"); gets(osoba->ime); printf("Unesite adresu osobe:"); gets(osoba->adresa); printf("Unesite starost osobe:"); scanf("%u",&osoba->starost); while(getchar()!='\n'); } void main(){ int n,i; FILE *dat; struct licnost osoba[maxos],*pok_lic,osoba1[maxos]; printf("Unesi broj osoba:\n"); scanf("%d",&n); while(getchar()!='\n'); for(i=0;i<n;i++){ printf("Unesi podatke za %d. osobu:\n",i+1); citaj(&osoba[i]); } for(i=0;i<n;i++) printf("%s,%s,star: %ug.\n",osoba[i].ime,osoba[i].adresa,osoba[i].starost); for(pok_lic=osoba;pok_lic<osoba+n;pok_lic++) printf("%s,%s,star:%ug.\n",pok_lic->ime,pok_lic->adresa,pok_lic->starost); dat=fopen("podaci.bin","wb"); for(i=0;i<n;i++) fwrite(osoba,sizeof(struct licnost),n,dat); fclose(dat); dat=fopen("podaci.bin","rb"); for(i=0;i<n;i++) fwrite(osoba1,sizeof(struct licnost),n,dat); fclose(dat); for(i=0;i<n;i++) printf("%s,%s,star: %ug.\n",osoba[i].ime,osoba[i].adresa,osoba[i].starost); }

Zadatak sa ucenikom... #include<stdio.h> #include<stdlib.h> struct ucenik{ char ime[31]; char adresa[41]; unsigned odeljenje,razred; }; void main(){ int n,i; struct ucenik x[20]; FILE *izlaz; scanf("%d", &n); getchar(); for(i=0;i<n;i++){ printf("Unesi ime: "); gets(x[i].ime); printf("Unesi adresu: "); gets(x[i].adresa); printf("Unesi odeljenje: "); scanf("%u", &x[i].odeljenje); printf("Unesi razred: "); scanf("%u", &x[i].razred); getchar(); } izlaz=fopen("ucenici.txt","w"); if(izlaz!=NULL){ for(i=0;i<n;i++) fprintf(izlaz,"%s%s%u%u\n",x[i].ime,x[i].adresa,x[i].razred,x[i].odeljenje); } else{ printf("Datoteka se ne moze otvoriti"); exit(1); } fclose(izlaz); } Isto sa ucenikom... #include<stdio.h> #include<string.h> struct ucenik{ char ime[31]; char adresa[41]; unsigned razred,odeljenje;

}; void main(){ int n,i; FILE *dat; struct ucenik x[20],y[20]; printf("unesi broj ucenika: "); scanf("%d",&n); getchar(); for(i=0;i<n;i++){ printf("\nUnesi ime: "); gets(x[i].ime); printf("\nUnesi adresu: "); gets(x[i].adresa); printf("\nUnesi razred: "); scanf("%u",&x[i].razred); printf("\nUnesi odeljenje: "); scanf("%u",&x[i].odeljenje); getchar(); } dat=fopen("ucenicia.txt","w"); for(i=0;i<n;i++){ fputs( x[i].ime,dat);fputs("\n",dat); fputs( x[i].adresa,dat);fputs("\n",dat); fprintf(dat,"%u",x[i].razred);fputs("\n",dat); fprintf(dat,"%u\n\n",x[i].odeljenje); } fclose(dat); dat=fopen("ucenicia.txt","r"); for(i=0;i<n;i++){ fgets( y[i].ime,31,dat);printf("ime: %s ",y[i].ime); fgets( y[i].adresa,41,dat);printf("adresa: %s ",y[i].adresa); fscanf(dat,"%u",&y[i].razred); printf("razred: %u " ,y[i].razred); fscanf(dat,"%u\n",&y[i].odeljenje); printf("odeljenje: %u \n",y[i].odeljenje); } fclose(dat); } Isto ucenik... #include<stdio.h> #include<string.h> struct ucenik{ char ime[31];

char adresa[41]; unsigned razred,odeljenje; }; void main(){ int n,i; FILE *dat; struct ucenik x[20],y[20]; printf("unesi broj ucenika: "); scanf("%d",&n); getchar(); for(i=0;i<n;i++){ printf("\nUnesi ime: "); gets(x[i].ime); printf("\nUnesi adresu: "); gets(x[i].adresa); printf("\nUnesi razred: "); scanf("%u",&x[i].razred); printf("\nUnesi odeljenje: "); scanf("%u",&x[i].odeljenje); getchar(); } dat=fopen("ucenicib.txt","w"); for(i=0;i<n;i++){ fprintf(dat,"%s%s%u%u\n",x[i].ime,x[i].adresa,x[i].razred,x[i].odeljenje); } fclose(dat); dat=fopen("ucenicib.txt","r"); for(i=0;i<n;i++){ fscanf(dat,"%s%s%u%u",y[i].ime,y[i].adresa,&y[i].razred,&y[i].odeljenje); printf("%s %s %u %u\n",x[i].ime,x[i].adresa,x[i].razred,x[i].odeljenje); } fclose(dat); } Neki zadatak #include<stdio.h> void main (){ int bz=0,bl=0; char ch; FILE *ul, *iz; ul=fopen("ulaz.txt","r"); if(ul==NULL)printf("Datoteka se ne moze otvoriti"); iz=fopen("izlaz.txt","w"); printf("%d",EOF); while((ch=fgetc(ul))!=EOF) { ch=ch+1;

fputc(ch,iz); bz++; if(ch=='\n')bl++; } printf("znak:%d linije:%d",bz,bl); fclose(ul); fclose(iz); } Ucenik: #include<stdio.h> struct ucenik{ char ime[31]; char adresa[41]; unsigned razred,odeljenje; }; void main() { struct ucenik x,y; FILE *dat; printf("Unesi ime:"); gets(x.ime); printf("Unesi adresu:"); gets(x.adresa); printf("Unesi razred:"); scanf("%u",&x.razred); printf("Unesi odeljenje:"); scanf("%u",&x.odeljenje); dat=fopen("ucenik.txt","w"); fprintf(dat,"%s\n%s\n%u\n%u",x.ime,x.adresa,x.razred,x.odeljenje); fclose(dat); dat=fopen("ucenik.txt","r"); //fscanf(dat,"%s%s%u%u",y.ime,y.adresa,&y.razred,&y.odeljenje); fgets( y.ime,31,dat); fgets( y.adresa,41,dat); fscanf(dat,"%u\n%u",&y.razred,&y.odeljenje); fclose(dat); printf("ime:%s adresa:%s razred:%u odeljenje:%u",y.ime,y.adresa,y.razred,y.odeljenje); }

Prvi zadatak: #include<stdio.h> void main (){ char x; char y[21]; FILE *ul, *iz; ul=fopen("Ulaz.txt","r"); iz=fopen("Izlaz.txt","w"); fgets(y,21,ul); fgetc(ul); x=fgetc(ul); fputc(x,iz); fputs(y,iz); fclose(ul); fclose(iz); printf("%d",EOF); } Zadatak 11: #include<stdio.h> #include<string.h> void main(){ char red[81],parni[100][81],neparni[100][81]; int i,np,nn; nn=0; np=0; printf("Unesi red"); gets(red); while(strcmp(red,"")==0){ if(strlen(red)%2)==0){ strcpy(parno(np),red); np++; } else{ strcpy(neparno(nn),red); nn+; } gets(red); } for(i=0;np-1;i++){ printf("parni[%d]=%s",i,parni[i]); for(i=0;nn-1;i++){ printf("neparni[%d]=%s",i,neparni[i]); } }