Advertisement
koyukix

lab3

Jan 11th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstdlib>
  4. using namespace std;
  5.  
  6. class osoba
  7. {
  8. public:
  9.     osoba();
  10.     osoba(string imie);
  11.     osoba(string imie, string nazwisko);
  12.     osoba(string imie, string nazwisko, int wiek);
  13.     osoba(int wiek, string imie, string nazwisko);
  14.     ~osoba();
  15.     static int aktualnie_w_systemie;
  16.     static int id_ostatniego;
  17.     int id;
  18.     int wiek;
  19.     string imie;
  20.     string nazwisko;
  21.     string dataurodzenia;
  22.     string plec;
  23.     string miasto;
  24.     static void info();
  25.     void przedstaw();
  26.     static int skladowaklasy();
  27. };
  28.  
  29. int osoba::aktualnie_w_systemie;
  30. int osoba::id_ostatniego;
  31.  
  32. osoba::osoba(string a)
  33. {
  34.     imie=a;
  35.     aktualnie_w_systemie++;
  36.     id_ostatniego++;
  37.     id=id_ostatniego;
  38. }
  39. osoba::osoba(string a, string b)
  40. {
  41.     imie = a;
  42.     nazwisko=b;
  43.     aktualnie_w_systemie++;
  44.     id_ostatniego++;
  45.     id=id_ostatniego;
  46. }
  47. osoba::osoba(string a, string b, int c)
  48. {
  49.     imie = a;
  50.     nazwisko=b;
  51.     wiek=c;
  52.     aktualnie_w_systemie++;
  53.     id_ostatniego++;
  54.     id=id_ostatniego;
  55. }
  56.  
  57. osoba::osoba(int c, string a, string b)
  58. {
  59.     wiek=c;
  60.     imie=a;
  61.     nazwisko=b;
  62.     aktualnie_w_systemie++;
  63.     id_ostatniego++;
  64.     id=id_ostatniego;
  65. }
  66.  
  67. osoba::~osoba()
  68. {
  69.     cout << "Jestem w destruktorze !" << endl;
  70.     aktualnie_w_systemie--;
  71. }
  72.  
  73. void osoba::info()
  74. {
  75.     cout<<"Dotychczas utworzono: "<<osoba::id_ostatniego <<  " obiektow"<<endl;
  76.     cout<<"Obecnie w systemie mamy: "<<osoba::aktualnie_w_systemie<< " obiektow" <<endl;
  77. }
  78. int osoba::skladowaklasy()
  79. {
  80.     return id_ostatniego;
  81. }
  82.  
  83. void osoba::przedstaw()
  84. {
  85.     cout << "-----------------------"<<endl;
  86.     cout << "ID # "<<id<<"   "<<endl;
  87.     cout << "Witaj" << endl;
  88.     cout << "Nazywam sie " << imie << " " << nazwisko << endl;
  89.     cout << "Mam " << wiek << " lat" << endl;
  90.     cout << "-----------------------"<<endl;
  91. };
  92. int main()
  93. {
  94.     string temp;
  95.     ifstream wejscie("plik.txt");
  96.     getline(wejscie,temp);
  97.     osoba::id_ostatniego=atoi(temp.c_str());//zamienia stringa na int
  98.     osoba::aktualnie_w_systemie=0;
  99.     cout<<"id ostatniego obiektu = "<<osoba::skladowaklasy()<<endl;
  100.     // tworzymy osoby
  101.     const  int zakres =4;
  102.     osoba * lista [zakres];
  103.     int i=0;
  104.     lista[i]= new osoba("Adam");
  105.     i++;
  106.     lista[i]= new osoba("Janusz","Nowak");
  107.     i++;
  108.     lista[i]= new osoba("Piotr","Przykladowenazwisko", 18);
  109.     i++;
  110.     lista[i]= new osoba(5,"Jan","Kowalski");
  111.     for (int i=0; i<zakres; i++)
  112.     {
  113.         lista[i]->przedstaw();
  114.     }
  115.     osoba::info();
  116.     cout<<"id ostatniego obiektu = "<<osoba::skladowaklasy()<<endl;
  117.     for(int i=0; i<zakres; i++)
  118.     {
  119.         delete lista[i];
  120.     }
  121.     ofstream wyjscie("plik.txt",ios::trunc);
  122.     wyjscie << osoba::id_ostatniego;
  123.     return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement