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