Wednesday, May 28, 2014

#6 Decak.h Include Nasledjivanje

// STS Sombor II4 Bogdanovic D. 2014g
#ifndef DECAK_H
#define DECAK_H

// klasa decak nasledjuje osobu
using namespace std;

class c_decak:public c_osoba{
   private:
        string boja_pantalona;
        string boja_jakne;
        string navijam_za;
   public:
        c_decak();
        void setBoja_pantalona(string _boja_pantalona);
        string getBoja_pantalona();
        void setBoja_jakne(string _boja_jakne);
        string getBoja_jakne();
        void setNavijam_za(string _navijam_za);
        string getNavijam_za();  
};

c_decak::c_decak(){
   c_osoba();                
}
void c_decak::setBoja_pantalona(string _boja_pantalona){
   this->boja_pantalona = _boja_pantalona;  
}
string c_decak::getBoja_pantalona(){
   return this->boja_pantalona;    
}
void c_decak::setBoja_jakne(string _boja_jakne){
   this->boja_jakne = _boja_jakne;  
}
string c_decak::getBoja_jakne(){
   return this->boja_jakne;  
}
void c_decak::setNavijam_za(string _navijam_za){
   this->navijam_za = _navijam_za;
}
string c_decak::getNavijam_za(){
   return this->navijam_za;  
}



#endif

#6 Nasledjivanje osoba=>decak,devojcica na sekciji, vise fajlova

// STS Sombor II4 Bogdanovic D. 2014g
#include <iostream>
#include "Osoba.h"
#include "Decak.h"
#include "Devojcica.h"

#include <iostream>
using namespace std;



int main(){
   
   
    //primer osobe
    c_osoba *osoba = new c_osoba();
   
    //stavljam u objekat ime i prezime
    osoba->setIme("Petar");
    osoba->setPrezime("Petrovic");
    osoba->setGodiste(84);
    //ispis iz objekata osoba
    cout << "Ispis osobe" << endl;
    cout << "osoba.ime = " << osoba->getIme() << endl;
    cout << "osoba.prezime = " << osoba->getPrezime() << endl;
    cout << "osoba.godiste = " << osoba->getGodiste() << endl;
    cout << endl;
   
    c_decak *decak = new c_decak();
   
    decak->setIme("Marko");
    decak->setPrezime("Markovic");
    decak->setGodiste(98);
    decak->setBoja_pantalona("Plava");
    decak->setBoja_jakne("Zuta");
    decak->setNavijam_za("Dortmund");
    //ispis iz objekata decak
    cout << "Ispis decaka"<<endl;
    cout << "decak.ime = " << decak->getIme() << endl;
    cout << "decak.prezime = " << decak->getPrezime() << endl;
    cout << "decak.godiste = " << decak->getGodiste() << endl;
    cout << "decak.boja_pantalona = " << decak->getBoja_pantalona() << endl;
    cout << "decak.boja_jakne = " << decak->getBoja_jakne() << endl;
    cout << "decak.navijam_za = " << decak->getNavijam_za() << endl;
    cout << endl;
   
    c_devojcica *devojcica = new c_devojcica();
   
    devojcica->setIme("Ana");
    devojcica->setPrezime("Milic");
    devojcica->setGodiste(97);
    devojcica->setBoja_kose("Plava");
    devojcica->setBoja_noktiju("Ljubicasta");
    devojcica->setOmiljena_pevacica("Ceca");
    //ispis iz objekata devojcica
    cout << "Ispis devojcice"<<endl;
    cout << "devojcica.ime = " << devojcica->getIme() << endl;
    cout << "devojcica.prezime = " << devojcica->getPrezime() << endl;
    cout << "devojcica.godiste = " << devojcica->getGodiste() << endl;
    cout << "devojcica.boja_kose = " << devojcica->getBoja_kose() << endl;
    cout << "devojcica.boja_noktiju = " << devojcica->getBoja_noktiju() << endl;
    cout << "devojcica.omiljena_pevacica = " << devojcica->getOmiljena_pevacica() << endl;
    cout << endl;
   
    cin.ignore();
    return 1;  
}

Tuesday, May 27, 2014

#6 Objektni Nasledjivanje od osobe osoba >>decak, osoba >>devojcica

//STS Sombor III1 Djumic D. 2014g
/* Zadatak napisati klasu osoba i naslediti ga u klasi decak i devojcica,
prikazati podatke na ekranu*/
#include <iostream>


using namespace std;
class c_osoba{
 private:
  string ime;
  string prezime;
  int godiste;

 public:
  c_osoba();
  string getIme();
  string getPrezime();
  int getGodiste();
  void setIme(string _ime);
  void setPrezime(string _prezime);
  void setGodiste(int _godiste);

};
 c_osoba::c_osoba(){
 // neradi nista u ovom slucaju
}
string c_osoba::getIme(){
 return this->ime;
}
string c_osoba::getPrezime(){
 return this->prezime;
}
int c_osoba::getGodiste(){
 return this->godiste;
}
void c_osoba::setIme(string _ime){
 this->ime=_ime;
}
void c_osoba::setPrezime(string _prezime){
 this->prezime=_prezime;
}
void c_osoba::setGodiste(int _godiste){
 this->godiste=_godiste;
     }
// nasledjivanje
// profesor je prosirena osoba
//tj klasa profesor nasledjuje atribute i metode osobe
class c_decak:public c_osoba{
 private:
 string boja_pantalona;
 string boja_jakne;
 string navijam_za;
 public:
 c_decak();
 void setBoja_pantalona(string _boja_pantalona);
 string getBoja_pantalona();
 void setBoja_jakne(string _boja_jakne);
 string getBoja_jakne();
 void setNavijam_za(string _navijam_za);
 string getNavijam_za();

};
c_decak::c_decak(){
 //nema nist u konstruktoru
 // poziva konstruktor od svoga roditelja
 c_osoba();
}
string c_decak::getBoja_pantalona(){
 return this->boja_pantalona;
}
void c_decak::setBoja_pantalona(string _boja_pantalona){
 this->boja_pantalona=_boja_pantalona;
}
string c_decak::getBoja_jakne(){
 return this->boja_jakne;
}
void c_decak::setBoja_jakne(string _boja_jakne){
 this->boja_jakne=_boja_jakne;
}
string c_decak::getNavijam_za(){
 return this->navijam_za;
}
void c_decak::setNavijam_za(string _navijam_za){
 this->navijam_za=_navijam_za;
}
main (){

 // primer osobe
  c_osoba *osoba=new c_osoba();


  //stavlajm u objekat ime i prezime
  osoba->setIme("petar");
  osoba->setPrezime("petrovic");
  osoba->setGodiste(18);
  //ispis iz objekta osoba na ekran
  cout << "*** Ispis osobe ***"<<endl;
  cout <<"osoba.ime="<<osoba->getIme()<<endl;
  cout << "osoba.prezime="<<osoba->getPrezime()<<endl;
  cout <<"osoba.godiste="<<osoba->getGodiste()<<endl;
  cout <<endl;
   // primer decaka
   c_decak *decak=new c_decak();


   // stavljam u objeat decak ime,prezime ... (ime,prezime nasledjeno)
   decak->setIme("Marko");
   decak->setPrezime("Markovic");
   decak->setGodiste(18);
   decak->setBoja_pantalona("crna");
   decak->setBoja_jakne("bela");
   decak->setNavijam_za("Partizan");

  //ispis iz objekta decak na ekran (ispisi imena i prezimena nasledjeni)
  cout<<"*** Ispis decaka ***"<<endl;
  cout<<"decak.ime="<<decak->getIme()<<endl;
  cout<<"decak.prezime="<<decak->getPrezime()<<endl;
  cout<<"decak.godiste="<<decak->getGodiste()<<endl;
  cout<<"decak.boja_pantalona="<<decak->getBoja_pantalona()<<endl;
  cout<<"decak.boja_jakne="<<decak->getBoja_jakne()<<endl;
  cout<<"decak.navijam_za="<<decak->getNavijam_za()<<endl;
  delete osoba;
  delete decak;
   cin.ignore();
 
  return 1;
}

Wednesday, May 21, 2014

#5 Objektni nasledjivanje profesor klasa nasledjuje osoba klasu

#include <iostream>
using namespace std;
class c_osoba{
private:
string ime;
string prezime;

public:
c_osoba();
string getIme();
string getPrezime();
void setIme(string _ime);
void setPrezime(string _prezime);

};
 c_osoba::c_osoba(){
// neradi nista u ovom slucaju
}
string c_osoba::getIme(){
return this->ime;
}
string c_osoba::getPrezime(){
return this->prezime;
}
void c_osoba::setIme(string _ime){
this->ime=_ime;
}
void c_osoba::setPrezime(string _prezime){
this->prezime=_prezime;
}
// nasledjivanje
// profesor je prosirena osoba
//tj klasa profesor nasledjuje atribute i metode osobe
class c_profesor:public c_osoba{
private:
string predaje;
public:
c_profesor();
void setPredaje(string _predaje);
string getPredaje();

};
c_profesor::c_profesor(){
//nema nist u konstruktoru
// poziva konstruktor od svoga roditelja
c_osoba();
}
string c_profesor::getPredaje(){
return this->predaje;
}
void c_profesor::setPredaje(string _predaje){
this->predaje=_predaje;
}
int main (){

// primer osobe
  c_osoba *osoba=new c_osoba();

 
  //stavlajm u objekat ime i prezime
  osoba->setIme("petar");
  osoba->setPrezime("petrovic");
  //ispis iz objekta osoba na ekran
  cout << "*** Ispis osobe ***"<<endl;
  cout <<"osoba.ime="<<osoba->getIme()<<endl;
  cout << "osoba.prezime="<<osoba->getPrezime()<<endl<<endl;
 
   // primer profesora
   c_profesor *profesor=new c_profesor();
 
 
   // stavljam u objeat pprofesor ime,prezime i predaje (ime,prezime nasledjeno)
   profesor->setIme("profa");
   profesor->setPrezime("profic");
   profesor->setPredaje("matematika");
 
  //ispis iz objekta profesor na ekran (ispisi imena i prezimena nasledjeni)
  cout<<"*** Ispis profesora ***"<<endl;
  cout<<"profesor.ime="<<profesor->getIme()<<endl;
  cout<<"profesor.prezime="<<profesor->getPrezime()<<endl;
  cout<<"profesor.predaje="<<profesor->getPredaje()<<endl;
 
  delete osoba;
  delete profesor;
  //ako je potrebno da ceka ako nije komentarisi //cin.ignore();
  cin.ignore();
  return 1;
 
}

Wednesday, March 5, 2014

#4 Rastojanje izmedju 2 tacke u 3d prostoru - strukture

#include <conio.h>
#include <stdio.h>
#include <math.h>
   // made by Dejan Bogdanovic :)
    //struktura
struct s_point{
int x;
int y;
int z;
};

struct s_point point_A;
struct s_point point_B;
//deklarisanje funkcija
struct s_point s_point_unos();
void s_point_ispis(struct s_point point);
float rastojanje_tacaka(struct s_point point1,struct s_point point2);
float rastojanje_pocetak(struct s_point point);

int main(){
     
    float rastojanje;
    float rast_pocetak_A;
    float rast_pocetak_B;
     
printf("Molimo vas da unesete koordinate tacke A.\n");
point_A = s_point_unos();
printf("Molimo vas da unesete koordinate tacke B.\n");
point_B = s_point_unos();

rastojanje = rastojanje_tacaka(point_A, point_B);
rast_pocetak_A = rastojanje_pocetak(point_A);
rast_pocetak_B = rastojanje_pocetak(point_B);

//ispis rastojanja
printf("Rastojanje izmedju tacaka je: %1.2f.\n", rastojanje);
printf("Rastojanje tacke A od koordinatnog pocetka je: %1.2f.\n", rast_pocetak_A);
printf("Rastojanje tacke B od koordinatnog pocetka je: %1.2f.\n", rast_pocetak_B);

getch();
return 1;
}
//funkcija za racunanje rastojanja izmedju tacaka
float rastojanje_tacaka(struct s_point point1,struct s_point point2){
float rastojanje;
int xd;
int yd;
int zd;

xd = point1.x - point2.x;
yd = point1.y - point2.y;
zd = point1.z - point2.z;

rastojanje = sqrt(xd*xd + yd*yd + zd*zd);

return rastojanje;
}
//funkcija za racunanje rastojanja tacke od koordinatnog pocetka
float rastojanje_pocetak(struct s_point point){
float rastojanje;

rastojanje = sqrt(point.x*point.x + point.y*point.y + point.z*point.z);

return rastojanje;
}
//funkcija za ispis
void s_point_ispis(struct s_point point){
printf("point.x = %d", point.x);
printf("point.y = %d", point.y);
printf("point.z = %d", point.z);
}
//funkcija za unos
struct s_point s_point_unos(){
struct s_point point;
printf("point.x = ");scanf("%d", &point.x);
printf("point.y = ");scanf("%d", &point.y);
printf("point.z = ");scanf("%d", &point.z);

return point;
}

Thursday, February 13, 2014

#5 Slozena struktura ucenik sa nizom od 3 predmeta kao pod strukture

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

// struktura datum i funkcije upisa i ispisa
struct s_datum{
int dan;
int mesec;
int godina;
};
struct s_datum s_datum_upis(){
   struct s_datum datum;
   printf("    datum.dan=");scanf("%d",&datum.dan);
   printf("    datum.mesec=");scanf("%d",&datum.mesec);
   printf("    datum.godina=");scanf("%d",&datum.godina);
   return datum;
}

void s_datum_ispis(struct s_datum datum){
   printf("    datum.dan=%d\n",datum.dan);
   printf("    datum.mesec=%d\n",datum.mesec);
   printf("    datum.godina=%d\n",datum.godina);
}
struct s_predmet{
char ime[20];
int ocena;
};


struct s_predmet s_predmet_upis(){
   struct s_predmet predmet;
   printf("    predmet.ime=");scanf("%s",&predmet.ime);
   printf("    predmet.ocena=");scanf("%d",&predmet.ocena);
   return predmet;
}

void s_predmet_ispis(struct s_predmet predmet){
  printf("    predmet.ime=%s\n",predmet.ime);
  printf("    predmet.ocena=%d\n",predmet.ocena);
}

// struktura ucenik i funkcije upisa i ispisa
struct s_ucenik{
char prezime[20];
char ime[20];
struct s_datum datum;
struct s_predmet predmet[3];

};

struct s_ucenik s_ucenik_upis(){
struct s_ucenik ucenik;
printf("ucenik.prezime:");scanf("%s",&ucenik.prezime);
printf("ucenik.ime:");scanf("%s",&ucenik.ime);
printf("\n");
ucenik.datum=s_datum_upis();
for (int i=0;i<3;i++){
ucenik.predmet[i]=s_predmet_upis();
printf("\n");
}
return ucenik;
}
void s_ucenik_ispis(struct s_ucenik ucenik){
printf("ucenik.prezime:%s\n",ucenik.prezime);
  printf("ucenik.ime:%s\n",ucenik.ime);
  printf("\n");
s_datum_ispis(ucenik.datum);
printf("\n");
for (int i=0;i<3;i++){
s_predmet_ispis(ucenik.predmet[i]);
printf("\n");
}
}
main (){
 struct s_ucenik ucenik;

 printf("Unesite podatke za ucenika \n");
 ucenik=s_ucenik_upis();

 printf("Ispis podataka od ucenika \n");
 s_ucenik_ispis(ucenik);




 getch();
}

#4 Struktura uceni slozena sa pripadajucim funkcijama upisa i ispisa za svaku pod strukturu

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

// struktura datum i funkcije upisa i ispisa
struct s_datum{
int dan;
int mesec;
int godina;
};
struct s_datum s_datum_upis(){
   struct s_datum datum;
   printf("datum.dan=");scanf("%d",&datum.dan);
   printf("datum.mesec=");scanf("%d",&datum.mesec);
   printf("datum.godina=");scanf("%d",&datum.godina);
   return datum;
}

void s_datum_ispis(struct s_datum datum){
   printf("datum.dan=%d\n",datum.dan);
   printf("datum.mesec=%d\n",datum.mesec);
   printf("datum.godina=%d\n",datum.godina);
}

// struktura ucenik i funkcije upisa i ispisa
struct s_ucenik{
char prezime[20];
char ime[20];
struct s_datum datum;
};

struct s_ucenik s_ucenik_upis(){
struct s_ucenik ucenik;
printf("ucenik.prezime:");scanf("%s",&ucenik.prezime);
printf("ucenik.ime:");scanf("%s",&ucenik.ime);
ucenik.datum=s_datum_upis();
return ucenik;
}
void s_ucenik_ispis(struct s_ucenik ucenik){
printf("ucenik.prezime:%s\n",ucenik.prezime);
  printf("ucenik.ime:%s\n",ucenik.ime);
s_datum_ispis(ucenik.datum);
}
main (){
 struct s_ucenik ucenik;

 printf("Unesite podatke za ucenika \n");
 ucenik=s_ucenik_upis();

 printf("Ispis podataka od ucenika \n");
 s_ucenik_ispis(ucenik);




 getch();
}