Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include <vector>
- using namespace std;
- class BankRacun
- {
- private:
- string BrojRacuna;
- string VlasnikImePrezime;
- double StanjeRacuna;
- static double KamatnaStopa;
- public:
- BankRacun(string broj, string imeP, double stanje = 0.00);
- BankRacun(const BankRacun&);
- BankRacun& operator = (const BankRacun& r);
- ~BankRacun();
- static void SetKamatnuStopu(double);
- static double GetKamatnuStopu();
- double PripisKamate();
- double GetStanjeRacuna();
- const string GetBrojRacuna();
- const string GetImeVlasnika();
- void Uplata(double);
- void Isplata(double);
- };
- double BankRacun::KamatnaStopa = 0.01;
- vector<BankRacun> br;
- BankRacun::BankRacun(string broj, string imeP, double stanje)
- {
- BrojRacuna = broj;
- VlasnikImePrezime = imeP;
- StanjeRacuna = stanje;
- cout << "\nPoruka> Za racun broj " << BrojRacuna
- << " izvrsen konstruktor sa parametrima!" << endl;
- }
- BankRacun::BankRacun(const BankRacun& rac)
- {
- //delete[] VlasnikImePrezime;
- BrojRacuna = rac.BrojRacuna;
- VlasnikImePrezime = rac.VlasnikImePrezime;
- StanjeRacuna = rac.StanjeRacuna;
- cout << "\nPoruka> Za racun broj " << BrojRacuna
- << " izvrsen konstruktor kopije!" << endl;
- }
- BankRacun& BankRacun::operator=(const BankRacun& br)
- {
- if (this != &br)
- {
- //delete[] VlasnikImePrezime;
- BrojRacuna = br.BrojRacuna;
- VlasnikImePrezime = br.VlasnikImePrezime;
- StanjeRacuna = br.StanjeRacuna;
- }
- cout << "\nPoruka> Za racun broj " << BrojRacuna
- << " izvrsen operator dodele!" << endl;
- return *this;
- }
- BankRacun::~BankRacun()
- {
- //delete[] VlasnikImePrezime;
- cout << "\nPoruka> Za racun broj: " << BrojRacuna
- << " izvrsen destruktor!" << endl;
- }
- //staticki metod kojim se dodeljuje vrednost privatnoj statickoj promnljivoj
- void BankRacun::SetKamatnuStopu(double kam)
- {
- KamatnaStopa = kam;
- }
- double BankRacun::GetKamatnuStopu()
- {
- return KamatnaStopa;
- }
- double BankRacun::PripisKamate()
- {
- double iznosKamate = StanjeRacuna*KamatnaStopa;
- StanjeRacuna += iznosKamate;
- return iznosKamate;
- }
- double BankRacun::GetStanjeRacuna()
- {
- return StanjeRacuna;
- }
- const string BankRacun::GetBrojRacuna()
- {
- return BrojRacuna;
- }
- const string BankRacun::GetImeVlasnika()
- {
- return VlasnikImePrezime;
- }
- void BankRacun::Uplata(double x)
- {
- StanjeRacuna += x;
- }
- void BankRacun::Isplata(double x)
- {
- if ((GetStanjeRacuna() - x) > 100){
- StanjeRacuna -= x;
- return;
- }
- else
- {
- cout << "Isplata nije moguca";
- return;
- }
- }
- void OtvoriRacun(string rac)
- {
- string buferVlas;
- double stanje;
- //BankRacun temp;
- for (int i = 0; i < br.size(); i++)
- {
- if (rac == br[i].GetBrojRacuna())
- {
- cout << "Ovakav racun vec postoji" << endl;
- return;
- }
- }
- cout << "\n Uneti ime vlasnika racuna> ";
- getline(cin, buferVlas);
- cout << "\n Uneti inicijalno stanje racuna> ";
- cin >> stanje;
- cout << endl << endl;
- BankRacun temp(rac, buferVlas, stanje);
- br.push_back(temp);
- return;
- }
- int main(){
- int opcija;
- string racun;
- double kam;
- double iznos;
- while (true){
- a: cout << "Odaberite opciju:" << endl;
- cout << "1: Unos - promena referentne kamatne stope" << endl;
- cout << "2: Otvaranje novog racuna:" << endl;
- cout << "3: Uplata sredstava na racun:" << endl;
- cout << "4: Isplata sredstva sa racuna:" << endl;
- cout << "5: Uvid u trenutno stanje racuna:" << endl;
- cout << "6: Pripis kamate na racun:" << endl;
- cout << "7: Gasenje postojeceg racuna:" << endl;
- cout << "8: Kraj rada:" << endl;
- cin >> opcija;
- if (opcija==1)
- {
- cout << "Uneti kamatnu stopu: ";
- cin >> kam;
- BankRacun::SetKamatnuStopu(kam);
- goto a;
- }
- cout << "Uneti broj racuna: ";
- getchar();
- getline(cin, racun);
- if (opcija == 2)
- {
- OtvoriRacun(racun);
- goto a;
- }
- if (opcija==3)
- {
- for (int i = 0; i < br.size(); i++)
- {
- if (br[i].GetBrojRacuna()==racun)
- {
- cout << "Unesite iznos za uplatu";
- cin >> iznos;
- goto a;
- }
- }
- cout << "Trazeni racun ne postoji. Pokrece se otvaranje racuna" << endl;
- OtvoriRacun(racun);
- }
- if (opcija == 4)
- {
- for (int i = 0; i < br.size(); i++)
- {
- if (br[i].GetBrojRacuna() == racun)
- {
- cout << "Unesite iznos za isplatu";
- cin >> iznos;
- goto a;
- }
- }
- cout << "Trazeni racun ne postoji" << endl;
- }
- if (opcija==5)
- {
- for (int i = 0; i < br.size(); i++)
- {
- if (br[i].GetBrojRacuna() == rac)
- {
- cout << "Ime i prezime vlasnika: " << br[i].GetImeVlasnika() << endl;
- cout << "Broj racuna: " << br[i].GetBrojRacuna() << endl;
- cout << "Trenutno stanje: " << br[i].GetStanjeRacuna() << endl;
- }
- }
- }
- if (opcija == 8){
- break;
- }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement