OneCompiler

Current Account

264

class CurrentAccount(n: Int, name: String, Balance: Float, minBal: Float) {
private var balance = Balance
private val minBalance = minBal
private val accNo = n
private val accName = name

def Withdraw(): Unit = {
println("Enter the amount to be withdraw : ")
val amt = scala.io.StdIn.readFloat()
if ((balance - amt) >= minBalance) {
println("Balance withdraw successfully")
balance = balance - amt
} else {
println("You can only withdraw amount greater than minBalance i.e.." + minBalance)
}
}

def Deposit(): Unit = {
println("Balance before deposit : " + balance)
println("Enter the amount to deposit : ")
val amt = scala.io.StdIn.readFloat()
balance = balance + amt
println("Balance after deposit : " + balance)
}

def viewBalance(): Unit = {
println("Account Number : " + accNo)
println("Name : " + accName)
println("Account Balance : " + balance)
}

}

object prog1 {
def main(args: Array[String]): Unit = {
println("Create new account for customer : ")
println("Enter the account number : ")
val n = scala.io.StdIn.readInt()
println("Enter the account holder name : ")
val name = scala.io.StdIn.readLine()
println("Enter the account balance : ")
val Balance = scala.io.StdIn.readFloat()
println("Enter the account minimum balance : ")
val minBal = scala.io.StdIn.readFloat()

val curr = new CurrentAccount(n, name, Balance, minBal)
var option = 0
do {
  println("Enter the operation you want to perform : ")
  println("1. Withdraw")
  println("2. Deposit")
  println("3. viewBalance")
  println("4. Exit")
  option = scala.io.StdIn.readInt()
  option match {
    case 1 => curr.Withdraw()
    case 2 => curr.Deposit()
    case 3 => curr.viewBalance()
    case 4 => println("Exiting...")
    case _ => println("Invalid choice entered, Try again...")
  }
} while (option != 4)

}
}