Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grátis0
¿Alguien me puede ayudar por favor con el código de tarifa de aparcamientos de la lección de kotlin?
10 Respostas
+ 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