// Plataforma de televisión cobra una cuota plana de 15€ al mes (incluye series y peliculas, 4 partidos de futbol, 4 participaciones en apuestas deportivas), cuando el consumo mensual exceden esas condiciones, se cobran 6€ por cada partido y 5€ por cada apuesta, la factura mensual será coste fijo + coste partido + coste apuestas package main import ( "fmt" "math" ) func roundFloat(numero float64, precision uint) float64 { radio := math.Pow(10, float64(precision)) var resultado = math.Round(numero*radio) / radio return resultado } func main() { var IVA float64 = 1.21 var costeFijo float64 = 15.0 var partidoExtra float64 = 6.0 var apuestaExtra float64 = 5.0 var numeroPartidos int32 var numeroApuestas int32 fmt.Printf("Cuantos partidos has visto?\nNúmero: ") fmt.Scan(&numeroPartidos) fmt.Printf("Cuantas apuestas has hecho?\nNúmero: ") fmt.Scanln(&numeroApuestas) var impuestoPartidos float64 var impuestoApuestas float64 if numeroPartidos > 4 { impuestoPartidos = (float64(numeroPartidos - 4)) * partidoExtra } else { impuestoPartidos = 0.0 } if numeroApuestas > 4 { impuestoApuestas = (float64(numeroApuestas - 4)) * apuestaExtra } else { impuestoApuestas = 0.0 } var precioFinal float64 = costeFijo + impuestoPartidos + impuestoApuestas var precioFinalMasIVA float64 = roundFloat(precioFinal*IVA, 2) fmt.Printf("\nLa factura del mes costará %v€!\n", precioFinal) fmt.Printf("La factura del mes incluyendo IVA costará %v€!\n", precioFinalMasIVA) }