View difference between Paste ID: ja4b3RYn and dhpbMtRB
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
}