Ahmet_Durmic

bolnica_klase

May 25th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.73 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. #include<fstream>
  4.  
  5. using namespace std;
  6.  
  7. class Bolnica{
  8.     public:
  9.         Bolnica(string name="empty",string town="empty",int num=1,float price=1.95):
  10.             imeb{name},grad{town},br_zaposlenih{num},cijena_dana{price}{}
  11.         Bolnica(const Bolnica &izvor):
  12.             imeb{izvor.imeb},grad{izvor.grad},br_zaposlenih{izvor.br_zaposlenih},cijena_dana{izvor.cijena_dana}{}
  13.         ~Bolnica(){}
  14.    
  15.     void set(){
  16.         cout<<"   Unesite ime bolnice: ";getline(cin,this->imeb);
  17.         cout<<"Unesite grad: ";getline(cin,this->grad);
  18.         cout<<"Unesite broj zaposlenih: ";cin>>this->br_zaposlenih;cin.clear();cin.ignore(10000,'\n');
  19.         cout<<"Unesite cijenu lezanja po danu: ";cin>>this->cijena_dana;cin.clear();cin.ignore(10000,'\n');
  20.     }
  21.     void set_new_price(){
  22.         cout<<"Unesite novu cijenu lezanja po danu: ";cin>>this->cijena_dana;cin.clear();cin.ignore(10000,'\n');
  23.     }
  24.     string get_ime(){
  25.         return imeb;
  26.     }
  27.     string get_grad(){
  28.         return grad;
  29.        
  30.     }
  31.     int get_brzap(){
  32.         return br_zaposlenih;
  33.        
  34.     }
  35.     float get_cijena(){
  36.         return cijena_dana;
  37.     }
  38.    
  39.     private:
  40.         string imeb;
  41.         string grad;
  42.         int br_zaposlenih;
  43.         float cijena_dana;
  44. };
  45.  
  46. void unesi(Bolnica b[],int n){
  47.     for(int i=0;i<n;i++){
  48.         cout<<endl;
  49.         cout<<"Unesite podatke za "<<i+1<<". bolnicu\n";
  50.         b[i].set();
  51.     }
  52. }
  53. void unesi_u_datoteku(Bolnica b[],int n){
  54.     ofstream unos("bolnica.txt",ios::app);
  55.     for(int i=0;i<n;i++){
  56.         unos<<"Bolnica: "<<b[i].get_ime()<<endl;
  57.         unos<<"Grad: "<<b[i].get_grad()<<endl;
  58.         unos<<"Broj radnika: "<<b[i].get_brzap()<<endl;
  59.         unos<<"Cijena dana: "<<b[i].get_cijena()<<endl;
  60.         unos<<endl;
  61.     }
  62.     unos.close();
  63. }
  64. void povecaj_cijenu(Bolnica b[],int n){
  65.     int index;
  66.     cout<<"Unesite redni broj bolnice za povecanje cijene: ";cin>>index;
  67.     index=index-1;
  68.     for(int i=0;i<n;i++){
  69.         if(index==i){
  70.             b[i].set_new_price();
  71.         }
  72.     }
  73.     unesi_u_datoteku(b,n);
  74. }
  75. void ispisi_ime_bolnice(Bolnica b[],int n){
  76.     ifstream ispis("bolnica.txt");
  77.     string rijec=" ";
  78.     string line;
  79.     while(ispis>>rijec){
  80.         if(rijec=="Bolnica:"){
  81.             cout<<rijec;
  82.             while(getline(ispis,line)){
  83.                 cout<<line<<endl;
  84.                 break;
  85.             }
  86.         }
  87.     }
  88.     ispis.close();
  89. }
  90. void ispisi_ime_grada(Bolnica b[],int n){
  91.  
  92.     ifstream ispis("bolnica.txt");
  93.     string rijec=" ";
  94.     string line;
  95.  
  96.     while(ispis>>rijec){
  97.         if(rijec=="Grad:"){
  98.             cout<<rijec;
  99.             while(getline(ispis,line)){
  100.                 cout<<line<<endl;
  101.                 break;
  102.             }  
  103.         }
  104.     }
  105.     ispis.close();
  106.  
  107. }
  108.  
  109. int main(){
  110.    
  111.     int n;
  112.     cout<<"Unesite koliko zelite unijeti bolnica: ";cin>>n;cin.clear();cin.ignore(10000,'\n');
  113.     Bolnica b[n];
  114.     unesi(b,n);
  115. cout<<endl;
  116.     povecaj_cijenu(b,n);
  117. cout<<endl;
  118.     cout<<"Imena unesenih bolnica\n";
  119.     ispisi_ime_bolnice(b,n);
  120. cout<<endl;
  121.     cout<<"Imena gradova\n";
  122.     ispisi_ime_grada(b,n);
  123.    
  124.     return 0;
  125. }
Add Comment
Please, Sign In to add comment