elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Hola,¿alguien me podría decir si estoy enlazando bien las clases en el menú? en: 23 Mayo 2019, 09:36 am
#include <iostream>
#include <cmath>
#include <iomanip>
#include <string>
#include <conio.h>
#include <stdlib.h>
#include "Carátula.cpp"

using namespace std;

class Tarjeta
{
   private:
      int NumTarjeta;
      float Fondos;
   public:
      Tajeta(int, float);
      void Consultar();
};

class TarjetaDebito: public Tarjeta
{
   private:
      string Propietario;
   public:
      TarjetaDebito(int, float, string);
      void Consultar();
};

class TarjetaCredito: public TarjetaDebito
{
   private:
      float Credito;
   public:
      TarjetaCredito(int, float, string, double);
      void Consultar();
};

class TarjetaMetro: public TarjetaDebito
{
   private:
      double MontoRecarga;
   public:
      TarjetaMetro(int, float, string);
      void Consultar();
      void Meter(float Monto);
      void printMontoFinal();
};

Tarjeta::Tarjeta(int NumTarjeta, float Fondos)
{
   this->NumTarjeta = NumTarjeta;
   this->Fondos = Fondos;
}

void Tarjeta::Consultar()
{
   cout<<"\nLos Fondos actuales de la Tarjeta son de: $"<<Fondos;
}

TarjetaDebito::TarjetaDebito(int NumTarjeta, float Fondos, string Propietario): Tarjeta(NumTarjeta, Fondos)
{
   this->Propietario = Propietario;
}

void TarjetaDebito::Consultar(float Monto)
{
   cout<<"\nLos Fondos actuales de la Tarjeta de Débito son de: $"<<Fondos;
}

TarjetaCredito::TarjetaCredito(int NumTarjeta, float Fondos, string Propietario, double Credito): TarjetaDebito(NumTarjeta, Fondos, Propietario)
{
   this->Credito = Credito;
}

void TarjetaCredito::Consultar(float Monto)
{
   cout<<"\nTu crédito actual en esta Tarjeta de Crédito es de: $"<<Credito;
}

TarjetaMetro::TarjetaMetro(int NumTarjeta, float Fondos, string Propietario): TarjetaDebito(NumTarjeta, Fondos, Propietario){}

void TarjetaMetro::Consultar()
{
   cout<<"\nLos Fondos actuales de la Tarjeta del Metro son de: $"<<Fondos;
}

void TarjetaMetro::Meter()
{
   cout<<"\nIngrese el monto que desea recargar: $";
   cin>>MontoRecarga;
}

void TarjetaMetro::printMontoFinal()
{
   cout<<"\nEl Monto Final de sus Tarjetas es: ";
}

void Menu()
{
   char op, op2, op3;
   cout<<"\n\tBienvenido al STC Metro";
   cout<<"\n¿Qué Operación deseas realizar?";
   cout<<"\n\n\ta)Recargar Saldo a Tarjeta";
   cout<<"\n\n\tb)Transferir saldo entre tarjetas";
   cout<<"\n\n\tc)Salir";
   cin>>op;
   if(op=='a')
   {
      cout<<"\n\tTeclee el número del tipo de tarjeta: ";
      cout<<"\n\n\t1.- Tarjeta de Crédito";
      cout<<"\n\n\t2.- Tarjeta de Débito";
      cin>>op2;
      if(op2=='1')
      {
         cout<<"\nDigite el número de su Tarjeta de Crédito: ";
         cin>>(*(TarjetaCredito.NumTarjeta));
         cout<<"\nSu Crédito disponible es de: $5000";
         cout<<"\nIngrese el número de su tarjeta del metro: ";
         cin>>(*(TarjetaMetro.NumTarjeta));
         cout<<"\nSu Saldo actual en la tarjeta del STC es de: $20";
         cout<<"\nIngrese el monto que desea recargar: $";
         cin>>(*(TarjetaMetro.Monto));
         cout<<"\nFinalmente usted termina con un saldo de: $"<<(*(TarjetaMetro.Monto)) + 20;
      }
      if(op2=='2')
      {
         cout<<"\nDigite el número de su Tarjeta de Débito: ";
         cin>>(*(TarjetaDebito.NumTarjeta));
         cout<<"\nIngrese el número de su tarjeta del metro: ";
         cin>>(*(TarjetaMetro.NumTarjeta));
         cout<<"\nSu saldo disponible en su tarjeta de débito es de: $500";
         cout<<"\nSu saldo en su tarjeta del STC es de: $20";
         cout<<"\nDigite el monto que desea recargar: $";
         cin>>(*(TarjetaMetro.Monto));
         cout<<"\nUsted finaliza con: $"<<(*(TarjetaMetro.Monto)) + 20<<" en su tarjeta del metro";
         cout<<"\nY su saldo de tarjeta de débito es de: $"500 -= (*(TarjetaMetro.Monto));
      }
   }
   if(op=='b')
   {
      cout<<"\nDigite el Número de Tarjeta que va a transferir: ";
      cout<<"\nDigite el Número de Tarjeta a la que se transferirá el monto: ";
   }
}

int main()
{
   Caratula();
   TarjetaMetro TM1;
   Menu();
   TM1.printMontoFinal();
   return 0;
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines