Untitled

mail@pastecode.io avatar
unknown
plain_text
3 years ago
3.4 kB
4
Indexable
Never
fun main() {
    var manufacturers = arrayListOf<String>()
    var models = arrayListOf<String>()
    var years = arrayListOf<Int>()
    var prices = arrayListOf<Double>()
    var KMs = arrayListOf<Int>()
    var VINs = hashMapOf<Int, String>()

    while (true) {
        print("Enter car manufacturer (or 'd' when done): ")
        var manufacturer = readLine()!!
        if (manufacturer == "d")
            break

        var model: String;
        do {
            print("Enter car model: ")
            model = readLine()!!
        }
        while (!model.matches("[A-Za-z]*$".toRegex()))

        var year: String
        do {
            print("Enter car year: ")
            year = readLine()!!
        }
        while (!year.matches("[0-9]{4}".toRegex()))

        var km: String
        do {
            print("Enter car kilometers: ")
            km = readLine()!!

        }
        while (!km.matches("[0-9]+".toRegex()))

        print("Enter car price: ")
        var price = readLine()!!.toDouble()

        print("Enter car VIN: ")
        var VIN = readLine()!!

        manufacturers.add(manufacturer)
        models.add(model)
        years.add(year.toInt())
        prices.add(price)
        KMs.add(km.toInt())
        VINs.put(models.size-1, VIN)
    }

    do {
        println("Commands list:")
        println("1- View cars list")
        println("2- Find car by VIN")
        println("3- Find cars by price range")
        println("4- Find cars by kilometers range")
        println("5- Apply a specified discount to all cars")
        println("6- Count cars")
        println("7- Total car prices")
        println("8- Find cars by year range")
        println("9- Search car by name")

        var cmd = readLine()!!
        if (cmd == "c")
            break

        when (cmd.toInt()) {
            1 -> {
                for (i in 0 until models.size) {
                    println("${years[i]} ${manufacturers[i]} ${models[i]} ${KMs[i]} km with VIN: ${VINs.get(i)} and price of: ${prices[i]}")
                }
            }

            2 -> {
                print("Enter car VIN: ")
                var vin = readLine()!!

                for (i in 0 until models.size) {
                    if (VINs.get(i) == vin) {
                        println("${models[i]}")
                        break
                    }
                }
            }

            3 -> {
                print("Enter start price: ")
                val sPrice = readLine()!!.toDouble()
                print("Enter end price: ")
                val ePrice = readLine()!!.toDouble()

                for (i in 0 until models.size) {
                    if (prices[i] in sPrice..ePrice) {
                        println("${years[i]} ${manufacturers[i]} ${models[i]} ${KMs[i]} km with VIN: ${VINs.get(i)} and price of: ${prices[i]}")
                    }
                }
            }

            4 -> {

            }

            5 -> {

            }

            6 -> {

            }

            7 -> {

            }

            8 -> {

            }

            9 -> {

            }

            else -> {
                println("Enter a valid command (1-9) or 'c' to close")
            }
        }
    } while (true)
}