Buenas JurreNawijn las cosas mejorables serían
- El ejercicio pide que la función obtenerImporteConImpuestos reciba dos parámetros. Aunque tú has definido que recibe dos parámetros, en realidad es como si la hubieras definidio recibiendo sólo uno, porque después redefines tipoDeProducto en la línea
tipoDeProducto = Number(prompt("Menú: \n\n 1) ...
De este modo no estás usando el segundo parámetro, es como si hubieras escrito function obtenerImporteConImpuestos(importeSinImpuesto) de modo que no cumples con lo que se pide
- Igual que haces la operación importeSinImpuesto*110/100 deberías hacer el resto de operaciones, debes mantener un criterio homogéneo, no hacerlo en unos sitios de ese modo y en otros importeSinImpuesto*1.21 (aquí si seguimos el mismo criterio debería ser importeSinImpuesto*121/100)
- Cada función debe encargarse de una tarea y no de varias (principio de cohesión). Por ello es preferible que la petición de datos tenga lugar en una función y los cálculos de impuestos en otro. Puedes fijarte en cómo se hace aquí donde hay un mejor diseño:
https://www.aprenderaprogramar.com/foros/index.php?topic=3259.0 (todavía podría mejorarse separando en otra función el mostrar resultados)
Salu2