Значение переменной "a" получает неожиданные результаты
я новичок в сфере программирования на Айос. Пытался написать код симулятора банкомата, написал в первый раз многократным с использованием if else, при попытке модернизировать свой код и использовать взамен функции у меня возникла ошибка с переменной "a". Какое то суперкраткое готовое решение от гуру мне не нужно , я только лишь хочу понять что не так.
import Foundation
var operatingScreen: Bool = true
while operatingScreen == true {
var balance: Int = 500 //initial balance
func showBalance(){
print("Your current balance is \(balance) $")}
showBalance()
print("""
Please choose a transaction
1 for Income
2 for Cashout
3 for Exit
""")
if let input = readLine() {
if let x = Int(input) {
switch x {
case 1 :
print("Please enter amount")
if let input = readLine() {
if let amount = Int(input) { // Amount entrance
balance += amount
print("+ \(amount)")}}
showBalance()
case 2:
print("Please enter amount")
if let input = readLine() {
if let amount = Int(input) {
if amount < 5 {
print("Your amount should be more than 5$ to proceed Cash out ")
break}
if amount > balance {
print("Amount exceeds balance")
break}
balance = balance - amount
print("""
Please choose an available bank note:
100
50
20
10
5
""")
if let input = readLine() {
if let banknote = Int(input) {
===============================================
Собственно тут начинается сам трэш с переменной "а" которая
принимает непонятные значения то 0 то какое то большое число.
===============================================
var a: Int
var ost: Int // remains
a = amount / banknote
ost = amount-a*banknote
func cashout() {
for _ in 1...a {
print( "\(banknote)")
}}
func countEdenici() {
var edenica: Int // еденицы
if ost > 5 {
edenica = ost - 5
print("5 \n")
for _ in 1...edenica {
print("1 \n")
}
if ost == 5 {
print("5 \n")
}
if ost < 5 {
for _ in 1...edenica {
print("1 \n")}
}}}
