0
¿Alguien me puede ayudar por favor con el código de tarifa de aparcamientos de la lección de kotlin?
10 Answers
+ 1
Muestra tu intento de resolver el problema y te ayudo
+ 1
Gracias
+ 1
Nada! Buena suerte con el problema
0
fun main(args: Array<String>) {
var hours = readLine()!!.toInt()
var total: Double = 0.0
if(hours > 0 && hours <= 5){
total += (hours*1)
println(total)
}else if(hours > 5 && hours < 24){
hours-=5
total+= (hours*0.5)+5
println(total)
}else if(hours == 24){
total+=15
println(total)
}else if(hours>24){
hours-=24
total+=(hours*0.5)+15
println(total)
}else if(hours<0){
total+=0
println(total)
}
}
0
Pon el enunciado del problema
0
Estás haciendo un software de estacionamiento de coches que necesita calcular y generar la cantidad debida en función del número de horas que el coche estaba aparcado.
La tarifa se calcula sobre la base de la siguiente estructura de precios:
- las primeras 5 horas se facturan a 1 dólar por hora.
- después, cada hora se factura a 0,5 dólares por hora.
- por cada 24 horas, hay una tarifa plana de 15 dólares.
Esto significa que, por ejemplo, si un coche está aparcado durante 26 horas, la factura debería ser 15+(2*0.5) = 16.0, porque estuvo aparcado durante 24 horas más 2 horas adicionales.
Ejemplo de entrada:
8
Ejemplo de salida:
6.5
Explicación: Las primeras 5 horas se facturan a 1 dolar/hora, lo que supone 5 dólares. Después, las 3 horas siguientes se facturan a 0.5 dólares/hora = $1.5.
Así, el total sería $5+$1.5 = $6.5
0
Prueba a hacer un bucle que reste de 24 en 24 las horas y sume al total 15 por cada vez que se ejecute (este bucle sólo se ejecuta si el total de horas es mayor de 24.
Y luego si este bucle se ha ejecutado, por cada hora extra sumar al total 0.5
Si el primer bucle no se ejecuta:
Le restas 5 a las horas si ha estado aparcado más de 5 y menos de 24
Y sumas 5 al total
Y luego por cada hora más le sumas al total 0.5
Prueba a hacer esto, lo tuyo me parece un lío
0
.....
else if (hours > 24){
total = 15 + ((hours % 24) * 0.5)
}
If I recall well.
0
Hola porque este código no funciona para todos los caso de la tarifa de aparcamiento de la lección de Kotlin?
fun main(args: Array<String>) {
var hours = readLine()!!.toInt()
var total: Double = 0.0
when {
hours <= 5 -> println (hours*1)
hours >= 6 && hours <= 23 -> println (5+(0.5*(hours-5)))
hours == 24 -> println (hours-9)
hours >= 25 -> println (15+(0.5*(hours-24)))
}
}
0
Hole me podrías ayudar