POO U3 - ejercicio de herencia en C++

510 views 2 slides Jul 11, 2018
Slide 1
Slide 1 of 2
Slide 1
1
Slide 2
2

About This Presentation

Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 3: Herencia
Ejercicio de herencia en el cual se crea una clase llamada impuesto y se hereda sobre dos clases hijas que son IVA y IEPS para realizar los cálculos correspondientes


Slide Content

Programa que aplica herencia en una clase llamada impuesto para el pago de IVA y IEPS calculando
de la siguiente forma
subtotal = precio por litro * litros vendidos
IVA = 16% del subtotal
IEPS: magna = 0.3600 centavos por litro; premium = 0.4392 centavos por litro; diesel = 0.2988
centavos por litro
total = subtotal + IVA + IEPS;

#include <cstdlib>
#include <iostream>
#include <stdio.h>

using namespace std;

class impuesto {
public:
float cantidad, porcentaje, cuotaFija, tImpuesto;
impuesto() {
cantidad=0;
porcentaje=0;
cuotaFija=0;
tImpuesto=0;
}
};

class IVA: public impuesto {
public:
float cIVA(float m, float p) {
cuotaFija = 0;
cantidad=m;
porcentaje=p;
return tImpuesto = cantidad * porcentaje;
}
};

class IEPS: public impuesto {
public:
float cIEPS(float lt, short tipo) {
// t: 1 magna, 2 premium, 3 diesel
porcentaje=0;
cantidad=lt;
if (tipo==1) {
cuotaFija = 0.3600;
} else
if (tipo==2) {
cuotaFija = 0.4392;
} else
if (tipo==3) {

cuotaFija = 0.2988;
} else {
cout<<endl<<"Tipo de combustible no encontrado;";
tImpuesto=0;
cin.get();
exit(0);
}
return tImpuesto = cantidad * cuotaFija;
}
};

int main(int argc, char *argv[])
{
IVA iva;
IEPS ieps;
short tp;
float litros, costoLT, tIVA, tIEPS, subtotal, total;
cout<<"* * * Sistema de Venta de Combustibles * * * "<<endl;
cout<<"Capture tipo de combustible (1 magna, 2 premium, 3 diesel): ";
cin>>tp;
fflush(stdin);
cout<<endl<<"Litros Vendidos: ";
cin>>litros;
fflush(stdin);
cout<<endl<<"Costo por Litro: ";
cin>>costoLT;
fflush(stdin);
subtotal=litros*costoLT;
tIVA=iva.cIVA(subtotal, 0.16f);
tIEPS=ieps.cIEPS(litros, tp);
total=subtotal+tIVA+tIEPS;
cout<<endl<<"Subtotal: "<<subtotal;
cout<<endl<<"IVA: "<<tIVA;
cout<<endl<<"IEPS: "<<tIEPS;
cout<<endl<<"Total: "<<total<<endl;
cout << "Press the enter key to continue ...";
cin.get();
return EXIT_SUCCESS;
}