63 lines
1.7 KiB
Go
63 lines
1.7 KiB
Go
|
// 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 {
|
||
|
var radio = math.Pow(10, float64(precision))
|
||
|
var resultado = math.Round(numero*radio) / radio
|
||
|
return resultado
|
||
|
}
|
||
|
|
||
|
const IVA float64 = 1.1
|
||
|
|
||
|
const costeFijo float64 = 15.0
|
||
|
|
||
|
const partidoExtra float64 = 6.0
|
||
|
const apuestaExtra float64 = 5.0
|
||
|
|
||
|
var numeroPartidos int32
|
||
|
var numeroApuestas int32
|
||
|
|
||
|
func main() {
|
||
|
// var IVA float64 = 1.21
|
||
|
//
|
||
|
// var costeFijo float64 = 15.0
|
||
|
//
|
||
|
// var partidoExtra float64 = 6.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)
|
||
|
}
|