Advertisement
AntonioVillanueva

Salarios

Jun 1st, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. //compilacion g++ -std=c++11 -o NombreEjecutable NombreFuente.cpp
  2. #include <iostream>
  3. #include <stdlib.h>     /* abs */
  4. using namespace std;
  5.  
  6. #define normal(H) H*precio
  7. #define doble(H) H*precio*2
  8. #define triple (hextras-8)*precio*3
  9.  
  10. class salario{
  11.     public:
  12.     salario (int horas,int precio=1);//constructor por defecto el precio vale 1
  13.     int dinero()const;
  14.    
  15.     private:
  16.     int precio,horas,hextras;
  17. };
  18.     salario::salario(int horas,int precio):horas(horas),precio(precio),hextras(horas-30){}
  19.  
  20.     int salario::dinero()const{
  21.         if (hextras<=0 ){return normal(horas) ;}//No hay horas extras,
  22.         return normal(30) + ((hextras <=8 ) ? doble(hextras) : doble(8) + triple) ;
  23.  
  24.     }
  25.  
  26. int main(){
  27.     salario profesor(39);//(precio=1,horas)
  28.     cout << profesor.dinero() <<endl;//salario total= precio horas normal + precio horas extras
  29. return 0;
  30. }
  31.  
  32. /*
  33.  * Diseñar un programa en Lenguaje C++ para determinar la cantidad de dinero que recibirá un profesor
  34.  * por concepto de las horas extras trabajadas en un colegio,
  35.  * sabiendo que cuando las horas de trabajo exceden de 30,
  36.  *
  37.  * el resto se consideran horas extras y que estas se pagan al doble de una hora normal
  38.  * cuando no excedan de 8, en caso contrario se pagarían las primeras 8 extras al doble
  39.  * y a partir de allí se pagarían al triple.
  40.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement