2024. november 15., péntek

Pénzintézeti program Golang programozási nyelven

Egyszerű banki műveleteket (például számlanyitás, pénzbefizetés, pénzkivétel és egyenleglekérdezés) valósít meg egy konzolos alkalmazás keretein belül. 
Hogyan működik a program?
Account struktúra: Egy Account struktúra van definiálva, amely tartalmazza a számlatulajdonos nevét és az egyenleget.
Műveletek: A Deposit, Withdraw és GetBalance metódusok valósítják meg a pénz kezelését.
Fő program: A main függvény a felhasználói interakciót kezeli. A felhasználónak lehetősége van pénzt befizetni, kivenni vagy ellenőrizni az egyenlegét.
Ciklus és menü: A program folyamatosan fut, amíg a felhasználó úgy nem dönt, hogy kilép.
Futatás
A program futtatásához go run parancsot kell használni, majd a program elindul, és a felhasználó interaktívan kiválaszthatja a kívánt műveletet.

Egyszerű banki program Go nyelven
CopyReplit
package main

import (
    "fmt"
)

type Account struct {
    Owner   string
    Balance float64
}

func (a *Account) Deposit(amount float64) {
    if amount > 0 {
        a.Balance += amount
        fmt.Printf("Successfully deposited %.2f. New balance: %.2f\n", amount, a.Balance)
    } else {
        fmt.Println("Deposit amount must be positive.")
    }
}

func (a *Account) Withdraw(amount float64) {
    if amount > 0 && amount <= a.Balance {
        a.Balance -= amount
        fmt.Printf("Successfully withdrew %.2f. New balance: %.2f\n", amount, a.Balance)
    } else if amount > a.Balance {
        fmt.Println("Insufficient balance.")
    } else {
        fmt.Println("Withdrawal amount must be positive.")
    }
}

func (a *Account) GetBalance() float64 {
    return a.Balance
}

func main() {
    account := Account{Owner: "John Doe", Balance: 0.0}

    for {
        var choice int
        fmt.Println("\nSelect an operation:")
        fmt.Println("1. Deposit")
        fmt.Println("2. Withdraw")
        fmt.Println("3. Check Balance")
        fmt.Println("4. Exit")
        fmt.Print("Enter your choice: ")
        fmt.Scanf("%d", &choice)

        switch choice {
        case 1:
            var amount float64
            fmt.Print("Enter amount to deposit: ")
            fmt.Scanf("%f", &amount)
            account.Deposit(amount)

        case 2:
            var amount float64
            fmt.Print("Enter amount to withdraw: ")
            fmt.Scanf("%f", &amount)
            account.Withdraw(amount)

        case 3:
            fmt.Printf("Current balance: %.2f\n", account.GetBalance())

        case 4:
            fmt.Println("Exiting the program.")
            return

        default:
            fmt.Println("Invalid choice. Please try again.")
        }
    }
}

Nincsenek megjegyzések:

Megjegyzés küldése