Напишите программу для управления банковским счетом. Создайте структуру Account с приватными полями balance (баланс) и owner (владелец). Реализуйте методы для установки баланса и получения баланса, а также методы для внесения и снятия денег с счета. Убедитесь, что баланс не может быть отрицательным.
Примечания
Код программы должен содержать описание струкрутры Account:
type Account struct { owner string balance float64 } golang
go
package main
import (
"fmt"
)
type Account struct {
owner string
balance float64
}
// Метод для установки баланса
func (a *Account) setBalance(newBalance float64) {
// Проверяем, что новый баланс не отрицательный
if newBalance < 0 {
fmt.Println("Ошибка: баланс не может быть отрицательным")
} else {
a.balance = newBalance
}
}
// Метод для получения баланса
func (a Account) getBalance() float64 {
return a.balance
}
// Метод для внесения денег на счет
func (a *Account) deposit(amount float64) {
// Проверяем, что сумма для внесения положительная
if amount > 0 {
a.balance += amount
fmt.Println("Деньги успешно внесены на счет")
} else {
fmt.Println("Ошибка: сумма для внесения должна быть положительной")
}
}
// Метод для снятия денег со счета
func (a *Account) withdraw(amount float64) {
// Проверяем, что сумма для снятия положительная
if amount > 0 {
// Проверяем, что на счету достаточно средств
if amount <= a.balance {
a.balance -= amount
fmt.Println("Деньги успешно сняты со счета")
} else {
fmt.Println("Ошибка: недостаточно средств на счете")
}
} else {
fmt.Println("Ошибка: сумма для снятия должна быть положительной")
}
}
func main() {
// Создаем новый аккаунт
myAccount := Account{
owner: "John Doe",
balance: 1000,
}
// Выводим начальный баланс
fmt.Println("Начальный баланс:", myAccount.getBalance())
// Вносим деньги на счет
myAccount.deposit(500)
// Выводим обновленный баланс
fmt.Println("Баланс после внесения:", myAccount.getBalance())
// Снимаем деньги со счета
myAccount.withdraw(200)
// Выводим обновленный баланс
fmt.Println("Баланс после снятия:", myAccount.getBalance())
}
Здесь создается структура Account с приватными полями owner (владелец) и balance (баланс).
Метод setBalance используется для установки нового баланса. Он проверяет, что новый баланс не отрицательный, и если это так, устанавливает новое значение.
Метод getBalance возвращает текущий баланс аккаунта.
Метод deposit используется для внесения денег на счет. Он проверяет, что сумма для внесения положительная и добавляет ее к текущему балансу.
Метод withdraw используется для снятия денег со счета. Он проверяет, что сумма для снятия положительная и что на счету достаточно средств. Если условия выполняются, метод вычитает сумму из текущего баланса.
В функции main мы создаем новый аккаунт, выводим начальный баланс, вносим деньги на счет, выводим обновленный баланс, снимаем деньги со счета и выводим конечный баланс.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет