Предмет: Информатика, автор: lizap5678

Задача: Клас "Банківський рахунок"
Напишіть програму на C++, яка моделює банківський рахунок. Створіть клас BankAccount, який містить наступні атрибути:
1. Ім'я власника рахунку.2. Номер рахунку (унікальний ідентифікатор рахунку).
3. Залишок на рахунку.
Клас повинен мати такі методи:
1. Конструктор: приймає ім'я власника і початковий залишок рахунку. Присвоює номер рахунку автоматично.
2. Метод для виведення інформації: виводить ім'я власника, номер рахунку та поточний залишок.
3. Метод для збільшення балансу: приймає суму, яку додають до рахунку.
4. Метод для зменшення балансу: приймає суму, яку знімають з рахунку. Перевіряє, чи є достатньо коштів перед зняттям.
5. Статичний лічильник рахунків: відслідковує кількість створених рахунків.
6. Метод для отримання загальної кількості створених рахунків.
Створіть програму, яка демонструє використання цього класу. Створіть кілька банківських рахунків, виведіть їхню інформацію, виконайте операції зняття та поповнення коштів, та виведіть оновлену інформацію про рахунки.

Ответы

Автор ответа: JaneClements
1

Відповідь:

#include <iostream>

#include <string>

class BankAccount {

private:

   static int accountCount;  //статичний лічильник рахунків

   std::string ownerName;

   int accountNumber;

   double balance;

public:

   //конструктор

   BankAccount(const std::string& owner, double initialBalance) {

       ownerName = owner;

       balance = initialBalance;

       accountNumber = ++accountCount;

   }

   // виведення інформації

   void displayInfo() const {

       std::cout << "Account Holder: " << ownerName << std::endl;

       std::cout << "Account Number: " << accountNumber << std::endl;

       std::cout << "Balance: $" << balance << std::endl;

   }

   // збільшення балансу

   void deposit(double amount) {

       balance += amount;

       std::cout << "Deposit of $" << amount << " successful." << std::endl;

   }

   // зменшення балансу

   void withdraw(double amount) {

       if (amount <= balance) {

           balance -= amount;

           std::cout << "Withdrawal of $" << amount << " successful." << std::endl;

       } else {

           std::cout << "Insufficient funds. Withdrawal unsuccessful." << std::endl;

       }

   }

   // статичний метод для отримання загальної кількості рахунків

   static int getTotalAccounts() {

       return accountCount;

   }

};

// ініціалізація статичного члена класу

int BankAccount::accountCount = 0;

int main() {

   // створення рахунків

   BankAccount account1("John Doe", 1000.0);

   BankAccount account2("Jane Doe", 1500.0);

   //виведення інфи про рахунки

   std::cout << "Account Information:" << std::endl;

   account1.displayInfo();

   account2.displayInfo();

   //поповнення та зняття коштів

   account1.deposit(500.0);

   account2.withdraw(200.0);

   //виведення оновленої інформації про рахунки

   std::cout << "\nUpdated Account Information:" << std::endl;

   account1.displayInfo();

   account2.displayInfo();

   //виведення загальної кількості рахунків

   std::cout << "\nTotal Number of Accounts: " << BankAccount::getTotalAccounts() << std::endl;

   return 0;

}


lizap5678: ОБОЖЕ СПАСИБО БОЛЬШОЕ ТЫ ТОП
lizap5678: Как вы это пишете
JaneClements: :)
Похожие вопросы
Предмет: Другие предметы, автор: rahimovanurhon590