fun main(args: Array<String>){
var park = Parkhaus()
var park1 = Parkschein(15, 20, 16, 35)
var park2 = Parkschein(14, 30, 17, 20)
var park3 = Parkschein(13, 10, 18, 35)
var park4 = Parkschein(12, 30, 19, 10)
var park5 = Parkschein(11, 50, 20, 35)
park.parkscheine.add(park1)
park.parkscheine.add(park2)
park.parkscheine.add(park3)
park.parkscheine.add(park4)
park.parkscheine.add(park5)
var time_kurz = park.kuerzesteParkzeit()
var time_durch = park.durchschnittlicheParkzeit()
var einnahmen = park.einnahmen()
println("Kürzeste Parkzeit: $time_kurz Min. (ca. ${time_kurz / 60} Std.), Durchschnittliche Parkzeit: $time_durch Min. (ca. ${time_durch / 60} Std.), Einnahmen: $einnahmen€.")
var welcherBug = park.ueberpruefen()
if(welcherBug)
println("Alles in Ordnung")
else
println("Mind. ein Parkschein ist nicht in Ordnung")
var park6 = Parkschein(13, 0, 12, 0)
park.parkscheine.add(park6)
welcherBug = park.ueberpruefen()
if(welcherBug)
println("Alles in Ordnung")
else
println("Mind. ein Parkschein ist nicht in Ordnung")
}
class Uhrzeit(val min: Int = 0,val stu: Int = 0){
val minute: Int = min
val stunde: Int = stu
}
class Parkschein(val stuE: Int, val minE: Int, val stuA: Int, val minA: Int) {
val einfahrtZeit = Uhrzeit(minE, stuE)
var ausfahrtZeit = Uhrzeit(minA, stuA)
fun parkzeit() : Int{
var tmp: Int
var minute: Int
var stunde: Int
if (einfahrtZeit.stunde <= ausfahrtZeit.stunde)
tmp = (ausfahrtZeit.stunde - einfahrtZeit.stunde)
else
tmp = (24 - einfahrtZeit.stunde) + ausfahrtZeit.stunde
stunde = tmp
minute = ausfahrtZeit.minute - einfahrtZeit.minute
tmp = 0
return (stunde * 60) + minute
}
fun angefangendeStunden() : Int{
var tmp: Int = 0
if (einfahrtZeit.stunde < ausfahrtZeit.stunde)
tmp += (ausfahrtZeit.stunde - einfahrtZeit.stunde)
else if(einfahrtZeit.stunde == ausfahrtZeit.stunde)
tmp += 1
else
tmp += ((24 - einfahrtZeit.stunde) + ausfahrtZeit.stunde)
if(((60 - einfahrtZeit.minute) + ausfahrtZeit.minute) > 60)
tmp += 1
return tmp
}
}
class Parkhaus{
val parkscheine = arrayListOf<Parkschein>()
val tarif = 3.5
fun kuerzesteParkzeit(): Int{
var tmp: Int = parkscheine[0].parkzeit()
for ( p in parkscheine) {
if(tmp > p.parkzeit())
tmp = p.parkzeit()
}
return tmp
}
fun durchschnittlicheParkzeit(): Int{
var tmp: Int = 0
for ( p in parkscheine)
tmp += p.parkzeit()
return (tmp / parkscheine.size)
}
fun einnahmen(): Double{
var tmp: Int = 0
for ( p in parkscheine)
tmp += p.angefangendeStunden()
return (tarif * tmp)
}
fun ueberpruefen(): Boolean{
var test: Boolean = true
for ( p in parkscheine){
if(p.einfahrtZeit.stunde > p.ausfahrtZeit.stunde) {
test = false
}else if(p.einfahrtZeit.stunde == p.ausfahrtZeit.stunde){
if(p.einfahrtZeit.minute > p.ausfahrtZeit.minute)
test = false
}
}
return test
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎