Facebook
From Gentle Armadillo, 7 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 274
  1. #include <iostream>
  2. #include <conio.h>
  3. using namespace std;
  4.  
  5. //================================================================DATA
  6. class data{
  7. private:
  8.  int dzien;
  9.  int miesiac;
  10.  int rok;
  11.  
  12. public:
  13.  data(int x, int y,int z){
  14.  this->dzien=x;
  15.  this->miesiac=y;
  16.  this->rok=z;
  17.  }
  18.  
  19.  void printobj(){
  20.  std::cout<<"Dzien: "<<this->dzien<<" ";
  21.  std::cout<<"Miesiac: "<<this->miesiac<<" ";
  22.  std::cout<<"Rok: "<<this->rok<<" ";
  23.  }
  24.  
  25.  void setdata(int x, int y,int z){
  26.  this->dzien=x;
  27.  this->miesiac=y;
  28.  this->rok=z;
  29.  }
  30.  int * getdata(){
  31.  int tablica[3];
  32.  tablica [0]=this->dzien;
  33.  tablica [1]=this->miesiac;
  34.  tablica [2]=this->rok;
  35.  return tablica;
  36.  }
  37. };
  38.  
  39. //=================================================================OSOBA
  40. class osoba{
  41. private:
  42.  string imie;
  43.  string nazwisko;
  44.  data *urodzony;
  45. public:
  46.  //=====================================PRINT
  47.  void printobj(){
  48.  std::cout<<"Imie: "<<this->imie.c_str()<<" ";
  49.  std::cout<<"Nazwisko: "<<this->nazwisko.c_str()<<" ";
  50.  this->urodzony->printobj();
  51.  }
  52.  
  53.  //=======================================SET
  54.  void setosoba(string imie,string nazwisko,int dzien,int miesiac,int rok){
  55.  this->imie=imie;
  56.  this->nazwisko=nazwisko;
  57.  this->urodzony= new data (dzien,miesiac,rok);
  58.  }
  59.  
  60.  void setimie(string imie){
  61.  this->imie=imie;
  62.  }
  63.  
  64.  void setnazwisko(string nazwisko){
  65.  this->nazwisko=nazwisko;
  66.  }
  67.  
  68.  void setdata(int dzien,int miesiac,int rok){
  69.  this->urodzony= new data (dzien,miesiac,rok);
  70.  }
  71.  //===================================GET
  72.  string getimie(){
  73.  return this->imie;
  74.  }
  75.  
  76.  string getnazwisko(){
  77.  return this->nazwisko;
  78.  }
  79.  
  80.  data geturodzony(){
  81.  return *this->urodzony;
  82.  }
  83.  //=====================================KONSTRUKTORY
  84.  osoba(string imie,string nazwisko,int dzien,int miesiac,int rok){
  85.  this->imie=imie;
  86.  this->nazwisko=nazwisko;
  87.  this->urodzony= new data (dzien,miesiac,rok);
  88.  }
  89.  
  90.  osoba(){
  91.  this->imie="NN";
  92.  this->nazwisko="NN";
  93.  this->urodzony= new data (0,0,0);
  94.  }
  95.  
  96.  //===================================DESTRUKTORY
  97.  ~osoba(){
  98.  delete urodzony;
  99.  }
  100.  
  101. };
  102.  
  103. //=================================================FUNKCJJE
  104. void wypisz (osoba x){
  105.  x.printobj();
  106. }
  107.  
  108. void wypisz (data x){
  109.  x.printobj();
  110. }
  111.  
  112. void pobierzdata(data x){
  113.  int* tab=x.getdata();
  114. }
  115.  
  116. void pobierzosoba(osoba x){
  117.  string imie=x.getimie();
  118.  string nazwisko=x.getnazwisko();
  119.  data urodzenia=x.geturodzony();
  120.  
  121.  int* tab=urodzenia.getdata();
  122.  int dzien=tab[0];
  123.  int miesiac=tab[1];
  124.  int rok=tab[2];
  125. }
  126.  
  127. ostream& operator<< (ostream& strumien, osoba p){
  128.  strumien <<  p.imie << ", " << p.nazwisko;
  129.  return strumien;
  130.  }
  131.  
  132. void main(){
  133.  //data obiekt(12,8,2014);
  134. /*osoba wladek;
  135. wladek.getosoba();*/
  136.  
  137. osoba adam("adam","nowak",12,8,2001);
  138.  
  139. osoba *ewa=new osoba("ewa","nowak",1,2,2002);
  140.  
  141. ewa->setdata(2,12,1993);
  142. ewa->printobj();
  143. pobierzosoba(*ewa);
  144. wypisz(*ewa);
  145.  
  146. delete  ewa;
  147.  
  148.  getch();
  149. }
  150.  
  151. //=======================================================================================
  152.  
  153. // ZAD2_PO.cpp : Defines the entry point for the console application.
  154. //
  155. #include <iostream>
  156. #include "stdafx.h"
  157.  
  158. class pkt{
  159. private:
  160.         int x, y;
  161.  
  162. public:
  163.  
  164.         friend class prosta;
  165.  
  166.         pkt(int x = 0, int y = 0){
  167.                 this->x = x;
  168.                 this->y = y;
  169.         }
  170.  
  171.         void wypisz(){
  172.                 std::cout << "Punkt X: \t" << this->x << "\n";
  173.                 std::cout << "Punkt Y: \t" << this->y << "\n";
  174.         }
  175.  
  176.         pkt suma(pkt p){
  177.                 p.x = this->x + p.x;
  178.                 p.y = this->y + p.y;
  179.                 return p;
  180.         }
  181.  
  182.         int getX(){
  183.                 return this->x;
  184.         }
  185.  
  186.         int getY(){
  187.                 return this->y;
  188.         }
  189.  
  190.         void setX(int X){
  191.                 this->x = X;
  192.         }
  193.  
  194.         void setY(int Y){
  195.                 this->y = Y;
  196.         }
  197.  
  198.         //~~~~~~~~~~~~~~~~~~PRZELADOWNY OPERATOR W KLASIE
  199.  
  200.         pkt pkt::operator+(pkt p1){
  201.                 p1.x += this->x;
  202.                 p1.y += this->y;
  203.                 return p1;
  204.         };
  205.  
  206. };
  207.  
  208. //~~~~~~~~~~~~~~~~~~~PRZELADOWNY OPERATOR GLOBALNY
  209. /*
  210. pkt operator+(pkt p1, pkt p2){
  211.         pkt rezultat;
  212.         int x = p1.getX(); int y = p1.getY();
  213.         int x2 = p2.getX(); int y2 = p2.getY();
  214.         rezultat.setX(x + x2);
  215.         rezultat.setY(y + y2);
  216.         return rezultat;
  217. }
  218. */
  219.  
  220. //=========================================================================================
  221.  
  222.  
  223.  
  224.  
  225. class prosta{
  226.  
  227.         friend class pkt;
  228.         pkt punktA, punktB;
  229.  
  230. public:
  231.  
  232.        
  233.         prosta(pkt p1, pkt p2){
  234.                 this->punktA = p1;
  235.                 this->punktB = p2;
  236.         };
  237.  
  238.  
  239.  
  240.         void wypisz(){
  241.                 std::cout << "\n\nProsta przechodzaca przez punkty \nA=" << "[" << punktA.getX() << ',' << punktA.getY() << "]\n"
  242.                         "B=" << "[" << punktB.getX() << ',' << punktB.getY() << "]"
  243.                         "\nMa rownanie: "  ;
  244.                        
  245.  
  246.         }
  247. };
  248.  
  249. pkt roznica(pkt p1, pkt p2){
  250.         pkt p3(0,0);
  251.         int x = p1.getX(); int y = p1.getY();
  252.         int x2 = p2.getX(); int y2 = p2.getY();
  253.         p3.setX(x - x2);
  254.         p3.setY(y - y2);
  255.         return p3;
  256. }
  257.  
  258. void wypisz(pkt p1){
  259.         std::cout << "Punkt X: \t" << p1.getX() << "\n";
  260.         std::cout << "Punkt Y: \t" << p1.getY() << "\n";
  261. }
  262.  
  263.  
  264.  
  265. int main()
  266.  
  267. {
  268.         //int x, y;
  269.         pkt p1, p2(2, 5), p3(3, 7), p4(p3);
  270.         prosta pr2(p2, p3);
  271.         p3.wypisz();
  272.         p2.wypisz();
  273.         p1 = p2.suma(p3);
  274.         p1.setX(10); p1.setY(10);
  275.         p1.wypisz();
  276.         p2 = roznica(p1, p3);
  277.         p2.wypisz();
  278.         p4.setX(0); p4.setY(0);
  279.         p4 = p1 + p2;
  280.         p4.wypisz();
  281.         pr2.wypisz();
  282.  
  283.  
  284.         system("Pause");
  285.  }
  286.  
  287.  
  288.  
  289. //=====================================================================
  290.  
  291. #pragma once
  292. #include <iostream>
  293.  
  294. using namespace std;
  295.  
  296. class dane_kontaktowe
  297. {
  298. public:
  299.  string ulica, miasto;
  300.  int tel;
  301.  
  302. public:
  303.  dane_kontaktowe();
  304.  dane_kontaktowe(dane_kontaktowe&);
  305.  dane_kontaktowe(string,string,int);
  306.  ~dane_kontaktowe(void);
  307.  
  308.  void wypisz();
  309. };
  310.  
  311. #pragma once
  312. #include <iostream>
  313. #include "dane_kontaktowe.h"
  314. using namespace std;
  315.  
  316. class osoba
  317. {
  318. protected:
  319.  string imie;
  320.  string nazwisko;
  321.  int wiek;
  322.  dane_kontaktowe dk;
  323.  
  324. public:
  325.  
  326.  osoba();
  327.  osoba(string,string,int,dane_kontaktowe);
  328.  osoba(osoba &);
  329.  void wypisz();
  330.  
  331.  
  332.  ~osoba(void);
  333. };
  334.  
  335. #pragma once
  336. #include "osoba.h"
  337. #include <iostream>
  338.  
  339. using namespace std;
  340.  
  341.  
  342. class pracownik :
  343.  public osoba
  344. {
  345. protected:
  346.  string departament, stanowisko;
  347.  int zarobki;
  348.  
  349. public:
  350.  pracownik();
  351.  pracownik(string, string, int, dane_kontaktowe, string, string, int);
  352.  pracownik(pracownik&);
  353.  
  354.  void wypisz();
  355.  
  356.  ~pracownik(void);
  357. };
  358.  
  359. #pragma once
  360. #include "parcownik.h"
  361. #include <iostream>
  362. using namespace std;
  363.  
  364. class pracownik_administracyjny :
  365.  public pracownik
  366. {
  367. protected:
  368.  string kierunek;
  369.  int pokoj;
  370.  int nr_ident;
  371.  
  372. public:
  373.  pracownik_administracyjny();
  374.  pracownik_administracyjny(string, string, int, dane_kontaktowe, string, string, int, string, int, int);
  375.  pracownik_administracyjny(pracownik_administracyjny&);
  376.  
  377.  void wypisz();
  378.  ~pracownik_administracyjny(void);
  379. };
  380.  
  381. #pragma once
  382. #include "parcownik.h"
  383. class pracownik_naukowy :
  384.  public pracownik
  385. {
  386. protected:
  387.  string dziedzina;
  388.  int liczba_publikacji;
  389.  int indeks;
  390.  
  391. public:
  392.  pracownik_naukowy();
  393.  pracownik_naukowy(string, string, int, dane_kontaktowe, string, string, int, string, int, int);
  394.  pracownik_naukowy(pracownik_naukowy&);
  395.  
  396.  void wypisz();
  397.  ~pracownik_naukowy(void);
  398. };
  399.  
  400. #pragma once
  401. #include <iostream>
  402. #include "osoba.h"
  403. using namespace std;
  404.  
  405.  
  406. class student : public osoba
  407.  
  408. {
  409. protected:
  410.  string wydzial, kierunek;
  411.  int nr_indeksu;
  412.  
  413. public:
  414.  student();
  415.  student(string,string,int,dane_kontaktowe, string,string,int);
  416.  student(student&);
  417.  
  418.  void wypisz();
  419.  ~student(void);
  420. };
  421.  
  422. #include "StdAfx.h"
  423. #include "dane_kontaktowe.h"
  424.  
  425.  
  426. dane_kontaktowe::dane_kontaktowe()
  427. {
  428.  ulica="Ulica";
  429.  miasto="Miasto";
  430.  tel=0;
  431.  
  432. }
  433.  
  434. dane_kontaktowe::dane_kontaktowe(dane_kontaktowe &dk)
  435. {
  436.  ulica=dk.ulica;
  437.  miasto=dk.miasto;
  438.  tel=dk.tel;
  439. }
  440.  
  441.  
  442. dane_kontaktowe::dane_kontaktowe(string u,string m, int t)
  443. {
  444.  ulica=u;
  445.  miasto=m;
  446.  tel=t;
  447. }
  448.  
  449. void dane_kontaktowe::wypisz()
  450. {
  451.  std::cout<<"Dane kontaktowe: \n";
  452.  std::cout<<ulica.c_str()<<" ";
  453.  std::cout<<miasto.c_str()<<" ";
  454.  cout<<tel<<endl;
  455. }
  456.  
  457.  
  458.  
  459.  
  460. dane_kontaktowe::~dane_kontaktowe(void)
  461. {
  462. }
  463. #include "StdAfx.h"
  464. #include "osoba.h"
  465.  
  466.  
  467. osoba::osoba()
  468. {
  469.  imie="imie";
  470.  nazwisko="nazwisko";
  471.  wiek=0;
  472.  dk.miasto="miasto";
  473.  dk.ulica="ulica";
  474.  dk.tel=0;
  475. }
  476.  
  477. osoba::osoba(string i,string n,int w,dane_kontaktowe d)
  478. {
  479.  imie=i;
  480.  nazwisko=n;
  481.  wiek=w;
  482.  dk;
  483. }
  484.  
  485. osoba::osoba(osoba &o)
  486. {
  487.  imie=o.imie;
  488.  nazwisko=o.nazwisko;
  489.  wiek=o.wiek;
  490.  dk=o.dk;
  491. }
  492.  
  493.  
  494. void osoba::wypisz()
  495. {
  496.  dk.wypisz();
  497.  cout<<"osoba: \n";
  498.  cout<<imie.c_str()<<" ";
  499.  cout<<nazwisko.c_str()<<" ";
  500.  cout<<wiek<<endl;
  501.  
  502. }
  503.  
  504.  
  505.  
  506. osoba::~osoba(void)
  507. {
  508.  
  509. }
  510.  
  511. #include "StdAfx.h"
  512. #include "parcownik.h"
  513.  
  514.  
  515. pracownik::pracownik() : osoba ()
  516. {
  517.  departament="departament";
  518.  stanowisko="stanowisko";
  519.  zarobki=0;
  520. }
  521.  
  522. pracownik::pracownik(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z) : osoba(i,n,tel,dk)
  523. {
  524.  departament=d;
  525.  stanowisko=s;
  526.  zarobki=z;
  527.  
  528. }
  529.  
  530. pracownik::pracownik(pracownik &p)
  531. {
  532.  departament=p.departament;
  533.  stanowisko=p.stanowisko;
  534.  zarobki=p.zarobki;
  535. }
  536.  
  537.  
  538. pracownik::~pracownik(void)
  539. {
  540. }
  541. #include "StdAfx.h"
  542. #include "pracownik_administracyjny.h"
  543.  
  544.  
  545. pracownik_administracyjny::pracownik_administracyjny() : pracownik()
  546. {
  547.  kierunek="kierunek";
  548.  pokoj=0;
  549.  nr_ident=0;
  550. }
  551.  
  552.  
  553. pracownik_administracyjny::pracownik_administracyjny(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z, string k, int p, int ni) : pracownik(i,n,tel,dk, d,s,z)
  554. {
  555.  kierunek=k;
  556.  pokoj=p;
  557.  nr_ident=ni;
  558.  
  559. }
  560.  
  561. pracownik_administracyjny::pracownik_administracyjny(pracownik_administracyjny &pa)
  562. {
  563.  kierunek=pa.kierunek;
  564.  pokoj=pa.pokoj;
  565.  nr_ident=pa.nr_ident;
  566. }
  567.  
  568. pracownik_administracyjny::~pracownik_administracyjny(void)
  569. {}
  570. #include "StdAfx.h"
  571. #include "pracownik_naukowy.h"
  572. #include <iostream>
  573. using namespace std;
  574.  
  575.  
  576. pracownik_naukowy::pracownik_naukowy() : pracownik()
  577. {
  578.  dziedzina="dziedzina";
  579.  liczba_publikacji=0;
  580.  indeks=0;
  581. }
  582.  
  583.  
  584. pracownik_naukowy::pracownik_naukowy(string i, string n, int tel, dane_kontaktowe dk, string d, string s, int z, string di, int lp, int in) : pracownik(i,n,tel,dk, d,s,z)
  585. {
  586.  dziedzina=di;
  587.  liczba_publikacji=lp;
  588.  indeks=in;
  589.  
  590. }
  591.  
  592. pracownik_naukowy::pracownik_naukowy(pracownik_naukowy &pn)
  593. {
  594.  dziedzina=pn.dziedzina;
  595.  liczba_publikacji=pn.liczba_publikacji;
  596.  indeks=pn.indeks;
  597. }
  598.  
  599. pracownik_naukowy::~pracownik_naukowy(void)
  600. {}
  601.  
  602. #include "StdAfx.h"
  603. #include "student.h"
  604.  
  605.  
  606. student::student() :osoba()
  607. {
  608.  
  609.  wydzial="wydzial";
  610.  kierunek="kierunek";
  611.  nr_indeksu=0;
  612.  
  613. }
  614.  
  615. student::student(string i, string n, int tel, dane_kontaktowe dk, string w, string k, int ni) : osoba(i,n,tel,dk)
  616. {
  617.  wydzial=w;
  618.  kierunek=k;
  619.  nr_indeksu=ni;
  620.  
  621. }
  622.  
  623. student::student(student &s)
  624. {
  625.  wydzial=s.wydzial;
  626.  kierunek=s.kierunek;
  627.  nr_indeksu=s.nr_indeksu;
  628. }
  629.  
  630. void student::wypisz()
  631. {
  632.  osoba::wypisz();
  633.  cout<<"Student:  \n";
  634.  cout<<wydzial.c_str()<<" ";
  635.  cout<<kierunek.c_str()<<" ";
  636.  cout<<nr_indeksu<<endl;
  637. }
  638.  
  639.  
  640.  
  641.  
  642. student::~student(void)
  643. {
  644. }
  645. #include "StdAfx.h"
  646. #include "student.h"
  647.  
  648.  
  649. student::student() :osoba()
  650. {
  651.  
  652.  wydzial="wydzial";
  653.  kierunek="kierunek";
  654.  nr_indeksu=0;
  655.  
  656. }
  657.  
  658. student::student(string i, string n, int tel, dane_kontaktowe dk, string w, string k, int ni) : osoba(i,n,tel,dk)
  659. {
  660.  wydzial=w;
  661.  kierunek=k;
  662.  nr_indeksu=ni;
  663.  
  664. }
  665.  
  666. student::student(student &s)
  667. {
  668.  wydzial=s.wydzial;
  669.  kierunek=s.kierunek;
  670.  nr_indeksu=s.nr_indeksu;
  671. }
  672.  
  673. void student::wypisz()
  674. {
  675.  osoba::wypisz();
  676.  cout<<"Student:  \n";
  677.  cout<<wydzial.c_str()<<" ";
  678.  cout<<kierunek.c_str()<<" ";
  679.  cout<<nr_indeksu<<endl;
  680. }
  681.  
  682.  
  683.  
  684.  
  685. student::~student(void)
  686. {
  687. }
  688.  
  689.  
  690.