js-exercises/1.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 {
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)
}