SHOW:
|
|
- or go back to the newest paste.
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 | } |