Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Adicionando inputs e loops

Fiz algumas alterações no código para o usuário poder digitar o valor a ser depositado e sacado, também criei um loop que pede para o usuário tentar novamente caso o saque exceda o total

fun main() {
    println("Bem vindo ao ByteBank !");
    val contaFilipe = Conta()
    contaFilipe.titular = "Filipe"
    contaFilipe.numeroConta = 1000
    contaFilipe.saldo = 1888.00
    println("Titular :"+ contaFilipe.titular)
    println("Conta numero: ${ contaFilipe.numeroConta}")
    println("seu saldo é R$: " + contaFilipe.saldo)
   println()
    val contaYasmin = Conta()
    contaYasmin.titular = "Yasmin"
    contaYasmin.numeroConta = 1001
    contaYasmin.saldo = 1320.00
     println("Titular :" + contaYasmin.titular)
    println("Conta numero: " + contaYasmin.numeroConta)
    println("seu saldo é R$" + contaYasmin.saldo)

    println()
    println("Depositando na conta da Yasmin")
    print("valor a depositar:")
    contaYasmin.deposita(valor = readln().toDouble())
    println("seu saldo é R$ ${contaYasmin.saldo}")

    println()
    println("Depositando na conta do Filipe")
    print("valor a depositar:")
    contaFilipe.deposita(valor = readln().toDouble())
    println("seu saldo é R$ ${contaFilipe.saldo}")

    println()
    println("Sacando na conta do Filipe")
    print("valor a Sacar:")
    contaFilipe.saca(valor = readln().toDouble())
    println("seu saldo é de R$ ${contaFilipe.saldo}")

}

class Conta {
    var titular = ""
    var numeroConta = 0
    var saldo = 0.0
    fun deposita(valor: Double) {
        saldo += valor

    }
    fun saca (valor: Double) {
        while (true){
            if (saldo >= valor) {
                saldo -= valor
                    break
            } else {
                println("Saque em excesso, tente novamente")
                saca(valor = readln().toDouble())
                break
            }
        }
    }
    }
1 resposta
solução!

Fala Filipe, tudo certo?

Muito legal a sua implementação! Parabéns pela dedicação em ir além e implementar novas funcionalidades! Como uma dica, é possível reorganizar o método saca() para que ele não fique envolvo desse loop while sempre, algo como:

fun saca (valor: Double) {

        if (saldo >= valor) {
            saldo -= valor
            return
        }       
        println("Saque em excesso, tente novamente")
        saca(valor = readln().toDouble())

    }

Assim, aumentamos a legibilidade do código e evitamos comandos break desnecessários! Mas é só mais uma maneira de alcançar o mesmo resultado apresentado pela sua solução, em programação sempre tem várias maneiras de alcançar o mesmo resultado!

Parabéns pela dedicação, um grande abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software