NedimPecanin

Zadatak 2

Aug 16th, 2016
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<fstream>
  4. using namespace std;
  5. struct Osiguranje {
  6.     char brojOsiguranja[12];
  7.     float stanjeRacuna;
  8.     void Uplata(float iznos) {
  9.         if (iznos < 0)
  10.         {
  11.             cout << "Unijeli ste negativan iznos!\n";
  12.             return;
  13.         }
  14.         else
  15.             stanjeRacuna += iznos;
  16.     }
  17.     void Isplata(float iznos) {
  18.         if (iznos > stanjeRacuna)
  19.         {
  20.             cout << "Iznos je veci od stanja racuna!\n";
  21.             return;
  22.         }
  23.         else
  24.             stanjeRacuna -= iznos;
  25.     }
  26. };
  27. struct Pacijent {
  28.     char * imePrezime;
  29.     char JMBG[14];
  30.     bool RanijeBolovao;
  31.     Osiguranje osiguranje;
  32. };
  33. Pacijent * DodajPacijenta()
  34. {
  35.     Pacijent *p;
  36.     p = new Pacijent;
  37.     cout << "Unesite ime i prezime: ";
  38.     char ime[30];
  39.     cin.getline(ime, 30);
  40.     p->imePrezime = new char[strlen(ime) + 1];
  41.     strcpy_s(p->imePrezime, strlen(ime) + 1, ime);
  42.     cout << "Unesite JMBG: ";
  43.     cin.getline(p->JMBG, 14);
  44.     char b[5];
  45.     cout << "Da li je ranije bolovao? ";
  46.     cin.getline(b, 5);
  47.     if (strcmp(b, "da") == 0 || strcmp(b, "Da") == 0)
  48.         p->RanijeBolovao = true;
  49.     else
  50.         p->RanijeBolovao = false;
  51.     cout << "Unesite broj osiguranja: ";
  52.     cin.getline(p->osiguranje.brojOsiguranja, 12);
  53.     cout << "Unesite stanje racuna: ";
  54.     cin >> p->osiguranje.stanjeRacuna;
  55.     cin.ignore();
  56.     cout << endl;
  57.     return p;
  58. }
  59. void PrikaziInfo(Pacijent * p)
  60. {
  61.     cout << p->imePrezime << "     " << p->JMBG << endl;
  62.     cout << "Ranije bolovao: ";
  63.     if (p->RanijeBolovao)
  64.         cout << "DA\n";
  65.     else
  66.         cout << "NE\n";
  67.     cout << "Broj osiguranja: " << p->osiguranje.brojOsiguranja << endl;
  68.     cout << "Stanje na racunu: " << p->osiguranje.stanjeRacuna << endl;
  69. }
  70. Pacijent * Pretraga(Pacijent * niz[])
  71. {
  72.     char broj[12];
  73.     cout << "Unesite JMBG za provjeru: ";
  74.     cin.getline(broj, 12);
  75.     for (int i = 0; i < 3; i++)
  76.     {
  77.         if (strcmp(broj, niz[i]->JMBG) == 0)
  78.             return niz[i];
  79.     }
  80. }
  81. void UpisiUFajl(ofstream & obj, Pacijent * p) {
  82.     if (obj.is_open())
  83.     {
  84.         obj << p->imePrezime << "     " << p->JMBG << endl;
  85.     }
  86. }
  87. void KopirajFajl();
  88.  
  89. void main()
  90. {
  91.     Pacijent * niz[3];
  92.     for (int i = 0; i < 3; i++)
  93.     {
  94.         cout << "Pacijent broj " << i + 1 << endl;
  95.         niz[i] = DodajPacijenta();
  96.     }
  97.     ofstream upis("mojFajl.txt");
  98.     for (int i = 0; i < 3; i++)
  99.     {
  100.         UpisiUFajl(upis, niz[i]);
  101.     }
  102.    
  103.     Pacijent *pok;
  104.     pok = niz[2];
  105.     pok->osiguranje.Uplata(100);
  106.     pok->osiguranje.Isplata(35);
  107.     int uplata = 0.1*pok->osiguranje.stanjeRacuna;
  108.     niz[1]->osiguranje.Uplata(uplata);
  109.     pok->osiguranje.Isplata(uplata);
  110.     Pacijent *pok2 = Pretraga(niz);
  111.     PrikaziInfo(pok2);
  112. }
Add Comment
Please, Sign In to add comment