Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <iostream>
  4. #include <iomanip>
  5. #include <string>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10. class BankRacun
  11. {
  12. private:
  13. string BrojRacuna;
  14. string VlasnikImePrezime;
  15. double StanjeRacuna;
  16. static double KamatnaStopa;
  17. public:
  18. BankRacun(string broj, string imeP, double stanje = 0.00);
  19. BankRacun(const BankRacun&);
  20. BankRacun& operator = (const BankRacun& r);
  21. ~BankRacun();
  22. static void SetKamatnuStopu(double);
  23. static double GetKamatnuStopu();
  24. double PripisKamate();
  25. double GetStanjeRacuna();
  26. const string GetBrojRacuna();
  27. const string GetImeVlasnika();
  28. void Uplata(double);
  29. bool Isplata(double);
  30. };
  31.  
  32. double BankRacun::KamatnaStopa = 0.01;
  33. vector<BankRacun> br;
  34.  
  35. BankRacun::BankRacun(string broj, string imeP, double stanje)
  36.  
  37. {
  38. BrojRacuna = broj;
  39. VlasnikImePrezime = imeP;
  40. StanjeRacuna = stanje;
  41. cout << "\nPoruka> Za racun broj " << BrojRacuna
  42. << " izvrsen konstruktor sa parametrima!" << endl;
  43. }
  44.  
  45. BankRacun::BankRacun(const BankRacun& rac)
  46.  
  47. {
  48. //delete[] VlasnikImePrezime;
  49. BrojRacuna = rac.BrojRacuna;
  50. VlasnikImePrezime = rac.VlasnikImePrezime;
  51. StanjeRacuna = rac.StanjeRacuna;
  52. cout << "\nPoruka> Za racun broj " << BrojRacuna
  53. << " izvrsen konstruktor kopije!" << endl;
  54. }
  55.  
  56. BankRacun& BankRacun::operator=(const BankRacun& br)
  57. {
  58. if (this != &br)
  59. {
  60. //delete[] VlasnikImePrezime;
  61. BrojRacuna = br.BrojRacuna;
  62. VlasnikImePrezime = br.VlasnikImePrezime;
  63. StanjeRacuna = br.StanjeRacuna;
  64.  
  65. }
  66. cout << "\nPoruka> Za racun broj " << BrojRacuna
  67. << " izvrsen operator dodele!" << endl;
  68. return *this;
  69. }
  70.  
  71. BankRacun::~BankRacun()
  72.  
  73. {
  74. //delete[] VlasnikImePrezime;
  75. cout << "\nPoruka> Za racun broj: " << BrojRacuna
  76. << " izvrsen destruktor!" << endl;
  77. }
  78.  
  79. //staticki metod kojim se dodeljuje vrednost privatnoj statickoj promnljivoj
  80.  
  81. void BankRacun::SetKamatnuStopu(double kam)
  82. {
  83. KamatnaStopa = kam;
  84. }
  85.  
  86. double BankRacun::GetKamatnuStopu()
  87. {
  88. return KamatnaStopa;
  89. }
  90.  
  91. double BankRacun::PripisKamate()
  92.  
  93. {
  94. double iznosKamate = StanjeRacuna*KamatnaStopa;
  95. StanjeRacuna += iznosKamate;
  96. return iznosKamate;
  97. }
  98. double BankRacun::GetStanjeRacuna()
  99. {
  100. return StanjeRacuna;
  101. }
  102. const string BankRacun::GetBrojRacuna()
  103. {
  104. return BrojRacuna;
  105. }
  106. const string BankRacun::GetImeVlasnika()
  107. {
  108. return VlasnikImePrezime;
  109. }
  110. void BankRacun::Uplata(double x)
  111. {
  112. StanjeRacuna += x;
  113. }
  114. bool BankRacun::Isplata(double x)
  115. {
  116. if (x > StanjeRacuna)
  117. return false;
  118. else return true;
  119. }
  120. void OtvoriRacun(string rac)
  121. {
  122. string buferVlas;
  123. double stanje;
  124. //BankRacun temp;
  125.  
  126. for (int i = 0; i < br.size(); i++)
  127. {
  128. if (rac == br[i].GetBrojRacuna())
  129. {
  130. cout << "Ovakav racun vec postoji" << endl;
  131. return;
  132. }
  133. }
  134. cout << "\n Uneti ime vlasnika racuna> ";
  135. getline(cin, buferVlas);
  136. cout << "\n Uneti inicijalno stanje racuna> ";
  137. cin >> stanje;
  138. cout << endl << endl;
  139. BankRacun temp(rac, buferVlas, stanje);
  140. br.push_back(temp);
  141. return;
  142. }
  143.  
  144. int main(){
  145. int opcija;
  146. string racun;
  147. double kam;
  148. double iznos;
  149.  
  150. while (true){
  151. a: cout << "Odaberite opciju:" << endl;
  152. cout << "1: Unos - promena referentne kamatne stope" << endl;
  153. cout << "2: Otvaranje novog racuna:" << endl;
  154. cout << "3: Uplata sredstava na racun:" << endl;
  155. cout << "4: Isplata sredstva sa racuna:" << endl;
  156. cout << "5: Uvid u trenutno stanje racuna:" << endl;
  157. cout << "6: Pripis kamate na racun:" << endl;
  158. cout << "7: Gasenje postojeceg racuna:" << endl;
  159. cout << "8: Kraj rada:" << endl;
  160. cin >> opcija;
  161. if (opcija==1)
  162. {
  163. cout << "Uneti kamatnu stopu: ";
  164. cin >> kam;
  165. BankRacun::SetKamatnuStopu(kam);
  166. goto a;
  167. }
  168. cout << "Uneti broj racuna: ";
  169. getchar();
  170. getline(cin, racun);
  171. if (opcija == 2)
  172. {
  173. OtvoriRacun(racun);
  174. goto a;
  175. }
  176. if (opcija==3)
  177. {
  178. for (int i = 0; i < br.size(); i++)
  179. {
  180. if (br[i].GetBrojRacuna()==racun)
  181. {
  182. cout << "Unesite iznos za uplatu";
  183. cin >> iznos;
  184. }
  185. }
  186. }
  187. if (opcija == 8){
  188. break;
  189. }
  190. }
  191.  
  192. system("pause");
  193. return 0;
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement