marcoshuck

Home banking

Dec 15th, 2016
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.74 KB | None | 0 0
  1. /* --- main.cpp --- */
  2. #include <iostream>
  3. #include <cstdlib>
  4.  
  5. #include "tctacte.h"
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     TCtaCte cuenta(1200.00);
  12.     float monto;
  13.     unsigned int opc = 0;
  14.     bool flag_salir = false;
  15.  
  16.     do
  17.     {
  18.         system("CLS");
  19.         cout << "Bienvenido al sistema de Home Banking" << endl << "----------------------------------------" << endl
  20.              << "Para realizar una operacion, siga las instrucciones." << endl
  21.              << "Opcion 1: Consulta de saldo" << endl
  22.              << "Opcion 2: Consulta de la cantidad de extracciones" << endl
  23.              << "Opcion 3: Realizar deposito" << endl
  24.              << "Opcion 4: Realizar extraccion" << endl
  25.              << "Opcion 5: Salir" << endl;
  26.  
  27.         cout << "Opcion elegida: ";
  28.         cin >> opc;
  29.         cout << endl;
  30.  
  31.         while(opc > 5 || opc < 1)
  32.         {
  33.             cout << "Opcion elegida: ";
  34.             cin >> opc;
  35.         }
  36.  
  37.         switch(opc)
  38.         {
  39.             case 1:
  40.             {
  41.                 cout << "Consulta de saldo: " << cuenta.get_saldo() << endl;
  42.                 system("PAUSE>NULL");
  43.                 break;
  44.             }
  45.             case 2:
  46.             {
  47.                 cout << "Consulta de cantidad de extracciones: " << cuenta.get_cant_ext() << endl;
  48.                 system("PAUSE>NULL");
  49.                 break;
  50.             }
  51.             case 3:
  52.             {
  53.                 cout << "Ingrese el deposito que desea realizar: ";
  54.                 cin >> monto;
  55.                 cout << "Saldo de cuenta actual: " << cuenta.depositar(monto) << endl;
  56.                 system("PAUSE>NULL");
  57.                 break;
  58.             }
  59.             case 4:
  60.             {
  61.                 cout << "Ingrese la extraccion que desea realizar: ";
  62.                 cin >> monto;
  63.                 if(cuenta.extraer(monto))
  64.                     cout << "Saldo de cuenta actual: " << cuenta.get_saldo() << endl;
  65.                 else
  66.                     cout << "Operacion invalida, no cuenta con el suficiente saldo en su cuenta" << endl;
  67.                 system("PAUSE>NULL");
  68.                 break;
  69.             }
  70.             case 5:
  71.             {
  72.                 flag_salir = true;
  73.                 break;
  74.             }
  75.         }
  76.  
  77.     }
  78.     while(!flag_salir);
  79.     return 0;
  80. }
  81.  
  82. /* --- tctacte.h --- */
  83.  
  84. #ifndef TCTACTE_H
  85. #define TCTACTE_H
  86.  
  87. class TCtaCte
  88. {
  89.     private:
  90.         /* Atributos privados */
  91.         float saldo;
  92.         unsigned int cant_ext;
  93.     public:
  94.         /* Métodos públicos */
  95.         TCtaCte(float deposito_inicial = 0);
  96.         float get_saldo();
  97.         unsigned int get_cant_ext();
  98.         void set_saldo(float monto);
  99.         void set_cant_ext(unsigned int ut_ext);
  100.         float depositar(float monto);
  101.         bool extraer(float monto);
  102.         ~TCtaCte();
  103. };
  104.  
  105. #endif // TCTACTE_H
  106.  
  107. /* --- tctacte.cpp --- */
  108.  
  109. #include "tctacte.h"
  110. #define COBRO_EXTRACCIONES 5.00
  111.  
  112. TCtaCte::TCtaCte(float deposito_inicial)
  113. {
  114.     cant_ext = 0;
  115.     saldo = deposito_inicial;
  116. }
  117.  
  118. /* Métodos privados */
  119. float TCtaCte::get_saldo()
  120. {
  121.     return saldo;
  122. }
  123.  
  124. unsigned int TCtaCte::get_cant_ext()
  125. {
  126.     return cant_ext;
  127. }
  128.  
  129. void TCtaCte::set_saldo(float monto)
  130. {
  131.     saldo = monto;
  132. }
  133.  
  134. void TCtaCte::set_cant_ext(unsigned int u_ext)
  135. {
  136.     cant_ext = u_ext;
  137. }
  138.  
  139. /* Métodos públicos */
  140. float TCtaCte::depositar(float monto)
  141. {
  142.     saldo += monto;
  143.     return saldo;
  144. }
  145.  
  146. bool TCtaCte::extraer(float monto)
  147. {
  148.     if(saldo < monto || saldo <= 0)
  149.         return false;
  150.     else
  151.     {
  152.         cant_ext++;
  153.         if(cant_ext > 5)
  154.             saldo -= monto + COBRO_EXTRACCIONES;
  155.         else
  156.             saldo -= monto;
  157.         return true;
  158.     }
  159.  
  160. }
  161.  
  162. TCtaCte::~TCtaCte()
  163. {
  164.  
  165. }
Add Comment
Please, Sign In to add comment