gistfile1.rs
· 1.5 KiB · Rust
原始檔案
use std::io;
struct BankAccount {
account_holder: String,
balance: f64,
}
impl BankAccount {
// Создание новой учетной записи
fn new(account_holder: String, initial_balance: f64) -> BankAccount {
BankAccount {
account_holder,
balance: initial_balance,
}
}
// Метод для пополнения счета
fn deposit(&mut self, amount: f64) {
if amount > 0.0 {
self.balance += amount;
println!("Deposited: {}", amount);
} else {
println!("Invalid deposit amount.");
}
}
// Метод для снятия средств
fn withdraw(&mut self, amount: f64) {
if amount > 0.0 && amount <= self.balance {
self.balance -= amount;
println!("Withdrawn: {}", amount);
} else {
println!("Invalid or insufficient funds.");
}
}
// Метод для отображения текущего баланса
fn show_balance(&self) {
println!("Account Holder: {}", self.account_holder);
println!("Balance: {:.2}", self.balance);
}
}
fn main() {
// Создаем объект банковского аккаунта
let mut account = BankAccount::new("John Doe".to_string(), 1000.0);
// Выполняем операции с аккаунтом
account.show_balance();
account.deposit(500.0);
account.withdraw(200.0);
account.show_balance();
}
1 | use std::io; |
2 | |
3 | struct BankAccount { |
4 | account_holder: String, |
5 | balance: f64, |
6 | } |
7 | |
8 | impl BankAccount { |
9 | // Создание новой учетной записи |
10 | fn new(account_holder: String, initial_balance: f64) -> BankAccount { |
11 | BankAccount { |
12 | account_holder, |
13 | balance: initial_balance, |
14 | } |
15 | } |
16 | |
17 | // Метод для пополнения счета |
18 | fn deposit(&mut self, amount: f64) { |
19 | if amount > 0.0 { |
20 | self.balance += amount; |
21 | println!("Deposited: {}", amount); |
22 | } else { |
23 | println!("Invalid deposit amount."); |
24 | } |
25 | } |
26 | |
27 | // Метод для снятия средств |
28 | fn withdraw(&mut self, amount: f64) { |
29 | if amount > 0.0 && amount <= self.balance { |
30 | self.balance -= amount; |
31 | println!("Withdrawn: {}", amount); |
32 | } else { |
33 | println!("Invalid or insufficient funds."); |
34 | } |
35 | } |
36 | |
37 | // Метод для отображения текущего баланса |
38 | fn show_balance(&self) { |
39 | println!("Account Holder: {}", self.account_holder); |
40 | println!("Balance: {:.2}", self.balance); |
41 | } |
42 | } |
43 | |
44 | fn main() { |
45 | // Создаем объект банковского аккаунта |
46 | let mut account = BankAccount::new("John Doe".to_string(), 1000.0); |
47 | |
48 | // Выполняем операции с аккаунтом |
49 | account.show_balance(); |
50 | account.deposit(500.0); |
51 | account.withdraw(200.0); |
52 | account.show_balance(); |
53 | } |