Tuesday, May 26, 2015

#6 Objektni Zivotinje nasledjivanje

#include <cstdlib>#include <iostream>
#include "cZivotinja.h"#include "cMajmun.h"
using namespace std;
int main(int argc, char *argv[]){    cout << "KLASA cZivotinja" << endl << endl;    //unos    cZivotinja *zivotinja = new cZivotinja();    zivotinja->scanGodine();    zivotinja->scanIme();    zivotinja->scanPol();    zivotinja->scanVrsta();     //Ispis    cout << "zivotinja.ime=" << zivotinja->ime << endl;    cout << "zivotinja.pol=" << zivotinja->pol << endl;       cout << "zivotinja.vrsta=" << zivotinja->vrsta << endl;       cout << "zivotinja.godine=" << zivotinja->getGodine() << endl;

    cMajmun *majmun = new cMajmun();   //unos    cout << "KLASA cMajmun" << endl << endl;       majmun->scanIme();    majmun->scanPol();    majmun->scanVrsta();     majmun->scanGodine();    //    majmun->scanHrana();    majmun->scanPodvrsta();    majmun->scanMesto();    //Ispis    //NASLEDJIVANJE ATRIBUTA IZ DRUGE CLASSE    cout << "majmun.ime=" << majmun->ime << endl;    cout << "majmun.pol=" << majmun->pol << endl;       cout << "majmun.vrsta=" << majmun->vrsta << endl;       cout << "majmun.godine=" << majmun->getGodine() << endl;    //    cout << "majmun.hrana=" << majmun->getHrana() << endl;    cout << "majmun.podvrsta=" << majmun->getPodvrsta() << endl;       cout << "majmun.mesto=" << majmun->getMesto() << endl;      //Brisanje objekata iz memorije    delete zivotinja;    delete majmun;    system("PAUSE");    return EXIT_SUCCESS;}

Wednesday, May 20, 2015

#3 Osnovni graficki elemnti, tacka, linija, pravougaonik, krug ...

#include<graphics.h>
main()
{
      initwindow(800,600);
      //crtanje tacke
      putpixel(50,50,GREEN);
      //linije
      line(100,50,150,50);
      //crtanje trougla
      line(200,50,225,25);
      line(225,25,250,50);
      line(250,50,200,50);
      //crtanje pravougaonika
      rectangle(300,25,350,50);
      circle(50,100,25);
     
      //kuca
      //zid
      rectangle(150,150,300,250);
      //krov
      line(150,150,175,100);
      line(300,150,275,100);
      line(175,100,275,100);
      //prozor
      rectangle(175,175,200,200);
      line(175,187,200,187);
      line(187,175,187,200);
      rectangle(250,175,275,200);
      line(250,187,275,187);
      line(262,175,262,200);
      //vrata
      line(210,175,240,175);
      line(210,175,210,250);
      line(240,175,240,250);
      //odzak
      line(250,85,260,85);
      line(250,85,250,100);
      line(260,85,260,100);
      while(!kbhit());
      closegraph();
      }

#3 Kreiranje dijagrama bars sa ispunama fill

#include <graphics.h>
main(){
initwindow (800,600);


setfillstyle(SOLID_FILL,RED);
bar(0,200,30,500);
setfillstyle(SOLID_FILL,YELLOW);
bar(30,270,60,500);
setfillstyle(LINE_FILL,CYAN);
bar(60,100,90,500);
setfillstyle(LTSLASH_FILL,BLUE);
bar(90,250,120,500);
setfillstyle(SLASH_FILL,GREEN);
bar(120,280,150,500);
setfillstyle(BKSLASH_FILL,WHITE);
bar(150,100,180,500);
setfillstyle(HATCH_FILL,RED);
bar(180,200,210,500);
setfillstyle(XHATCH_FILL,DARKGRAY);
bar(210,400,240,500);
setfillstyle(SOLID_FILL,GREEN);
bar(240,100,270,500);

while (!kbhit( ));
closegraph( );
}

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();    
}

Wednesday, March 18, 2015

#6 Levo spregnuta lista

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

typedef char string10[10];
struct cvor{
        string10 ime_cvora;
        struct cvor *prethodni;
        };
typedef cvor LCVOR;

void lista_ispis(LCVOR *tekuci){
  while (tekuci!=NULL){
    tekuci=tekuci->prethodni;
    printf("%s ",tekuci->ime_cvora);    
   }  
}


main(){

 LCVOR *pocetakListe, *novi;
 char ch[20];
 pocetakListe=NULL;
 printf("\n Unesi sadrzaj liste :\n");

 do{
    scanf("%s",&ch);
    novi = (LCVOR*)malloc(sizeof(LCVOR));
    strcpy(novi->ime_cvora,ch);
    novi->prethodni = pocetakListe;
    pocetakListe=novi;      
       
   }while(strcmp(ch,"kraj")!=0);
 
   printf("Sadrzaj Liste je :\n");
   lista_ispis(pocetakListe);
 
 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");
       }
     }