Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <assert.h>
  4. #include "paquete.h"
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10. Paquete::Paquete(int id, double peso, int largo, int ancho, int alto)
  11. {
  12. if (id>0 && peso>0 && largo>0 && ancho>0 && alto>0){
  13.     _id=id;
  14.     _peso=peso;
  15.     _largo=largo;
  16.     _ancho=ancho;
  17.     _alto=alto;
  18. }
  19. else{
  20.     _id=_SIN_IDENT;
  21.     _peso=_largo=_ancho=_alto=0;
  22.  
  23. }
  24. }
  25.    
  26.    void setId(long id){
  27.     if( id >0)
  28.         _id = id;
  29.     else
  30.         _id = _SIN_IDENT;
  31.    
  32. }
  33.    long  getId() const{
  34.     return _id;
  35. }
  36.  
  37.    void setPeso(double peso){
  38.     if (peso > 0)
  39.         _peso = peso;
  40.     else
  41.         _peso = 0;
  42. }
  43.  
  44.    double getPeso() const{
  45.     return _peso;
  46. }
  47.  
  48.    void setLargo(int largo){
  49.     if (largo > 0)
  50.         _largo = largo;
  51.     else
  52.         _largo = 0;
  53. }
  54.  
  55.    int getLargo() const{
  56.     return _largo;
  57. }
  58.  
  59.    void setAncho(int ancho){
  60.     if(ancho > 0)
  61.         _ancho = ancho;
  62.     else
  63.         _ancho = 0;
  64. }
  65.  
  66.    int getAncho() const{
  67.     return _ancho;
  68.    }
  69.  
  70.    void setAlto(int alto){
  71.     if(alto > 0)
  72.         _alto = alto;
  73.     else
  74.         _alto = 0;
  75. }
  76.    int getAlto()const{
  77.     return _alto;
  78. }
  79.  
  80. void setPaquete(long id, double peso, int largo, int ancho, int alto){
  81.  
  82. if (id>0 && peso>0 && largo>0 && ancho>0 && alto>0){
  83.     _id=id;
  84.     _peso=peso;
  85.     _largo=largo;
  86.     _ancho=ancho;
  87.     _alto=alto;
  88. }
  89. else{
  90.     _id=_SIN_IDENT;
  91.     _peso=_largo=_ancho=_alto=0;
  92.  
  93. }
  94. }
  95.  
  96. double getVolumen()const {
  97. double volumen=_largo*_ancho*_alto;
  98. return volumen;
  99. }
  100.  
  101. double calculaPesoVolumetrico()const{
  102.    
  103. double PesoVol= (_largo*_ancho*_alto)/_FACTORVOLUMETRICO;
  104.     if (PesoVol<_peso)
  105.         PesoVol=_peso;
  106.  
  107. return PesoVol;
  108.  
  109. }
  110.    
  111.  
  112. double getFactura() const{
  113. float factura=1;
  114. if (0<calculaPesoVolumetrico()<=_RANGO1)
  115.     factura=_TARIFA1+(_TARIFA1*_IVA);
  116. if(_RANGO1<calculaPesoVolumetrico()<=_RANGO2)
  117.     factura = _TARIFA2 + (_TARIFA2*_IVA);
  118. if(_RANGO2<calculaPesoVolumetrico()<=_RANGO3)
  119.     factura=_TARIFA3+(_TARIFA3*_IVA);
  120. if (_RANGO3<calculaPesoVolumetrico() || calculaPesoVolumetrico() < 0)
  121.     factura=0;
  122.    
  123.  
  124.  
  125. return factura;
  126. }
  127.  
  128. bool valido(Paquete p)const{
  129. bool es_valido = false;
  130.  
  131. if (p.getAncho()>0 && p.getPeso()>0 && p.getId()>0 && p.getLargo()>0 && p.getAlto()>0 && p.getPeso()>0)
  132.     es_valido=true;
  133.  
  134. return es_valido;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement