martes, 6 de septiembre de 2011

Paso de valor devuelto por una función como parámetro a otra función (anidando funciones)


Introducción al uso de funciones en lenguaje C/C++.

Paso de valor devuelto por una función como parámetro a otra función (anidando funciones)
Realizar una aplicación que pida el precio neto de un producto, su porcentaje de IVA (Impuesto sobre el valor añadido) y el porcentaje de descuento a aplicar sobre el Pvp (Precio Venta al Público).

Realizar dos funciones:
Una función deberá devolver el valor del PVP a partir del precio neto y del porcentaje de IVA a aplicar.
Otra función recibirá como parámetros el PVP y el descuento a aplicar, devolviendo el valor del precio final a cobrar al cliente.

En este caso se anidan las dos funciones entre sí, provocando el mismo resultado que el mostrado en el post anterior http://pai-torneiros.blogspot.com/2011/09/paso-de-valor-devuelto-por-una-funcion.html pero perdiendo claridad en la escritura del código.

Se desaconseja utilizar este tipo de llamadas, dada la dificultad añadida a la hora de retomar el código.

Enlace CodePad
http://codepad.org/nOVCeYxn

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


#include <iostream>

using namespace std;

float calcular_pvp (float neto, int porcentaje_iva);
float calcular_descuento (float total_pvp, float porcentaje_descuento);

int main()
{
    float neto_teclado = 100, porcentaje_descuento = 10;
    int porcentaje_iva_teclado = 18;

    cout << "Introduce el precio neto: ";
    cin >> neto_teclado;
    cout << "Introduce el porcentaje de iva (4, 8, 18): ";
    cin >> porcentaje_iva_teclado;
    cout << "Introduce el porcentaje de descuento a aplicar sobre el PVP: ";
    cin >> porcentaje_descuento;

    //se calcula el precio pvp mediante el neto y el procentaje de iva
    //al valor devuelto por la funcion anterior, se le realiza un descuento
    //se muestra el valor con el iva y el descuento incluidos
    //y todo esto se pasa como parametro a cout para mostrarlo por pantalla
    cout << endl << "O valor con iva incluido e " << calcular_descuento (calcular_pvp(neto_teclado, porcentaje_iva_teclado), porcentaje_descuento);

    return 0;
}

float calcular_pvp (float neto, int porcentaje_iva)
{
    float resultado, importe_iva;

    //calculo o importe do iva a partir co porcentaje iva
    importe_iva = neto * (porcentaje_iva / 100.0);

    //sumo importe neto e importe iva
    resultado = neto + importe_iva;

    return resultado;
}

float calcular_descuento (float total_pvp, float porcentaje_descuento)
{
    float total_pvp_con_descuento;

    total_pvp_con_descuento = total_pvp * (1 - (porcentaje_descuento/100.0));

    return total_pvp_con_descuento;
}

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...