Форум программистов, компьютерный форум CyberForum.ru

Разработать класс, инкапсулирующий банковский счет - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерные массивы (Определить Количество строк, номер столбца) http://www.cyberforum.ru/cpp-beginners/thread808212.html
Дана целочисленная прямоугольная матрица.Определить: 1)Количество строк,содержащих хотя бы один нулевой элемент 2)номер столбца,в котором находится самая длинная серия одинаковых элементов
C++ Дано целое число K, а также K наборов ненулевых целых чисел. c++ Дано целое число K, а также K наборов ненулевых целых чисел. Ка- ждый набор содержит не менее двух элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: ес- ли элементы набора возрастают, то вывести 1; если элементы набора убы- вают, то вывести –1; если элементы набора не возрастают и не убывают, то вывести 0. c++ http://www.cyberforum.ru/cpp-beginners/thread808197.html
Нужен очень простой работающий пример QT XML writer C++
Всем доброе утро разыскивается очень простой работающий пример QT XML writerа и ридера если не лень))) на подобие как здесь делают: http://www.cplusplus.com/reference/map/map/count/ Можете помочь ?
C++ с++ Дано целое число N и набор из N целых чисел, упорядоченный по возрастанию
Дано целое число N и набор из N целых чисел, упорядоченный по возрастанию. Данный набор может содержать одинаковые элементы. Вы- вести в том же порядке все различные элементы данного набора. в с++
C++ Траектория в атмосфере Марса, Рунге-Кутта 4 http://www.cyberforum.ru/cpp-beginners/thread808144.html
Имеется система дифференциальных уравнений (вложение img 0026), описывающая траекторию полета в атмосфере Марса, все данные в точке входа посчитала, известны. Вопрос каким образом посчитать методом Рунге-Кутта 4 порядка движение, чтобы на выходе получить все данные? Я в C никогда не работала, приходится разбираться в короткие сроки, и я не пойму: начальные условия по Рунге -Кутта должны быть...
C++ Классы и объекты Задания: 1.В соответствии с вариантом заданий 1 создать класс, в котором определяются закрытые свойства и открытые методы для следующих операций над объектами: -Конструктор по умолчанию (выводит на экран сообщение о создании пустого объекта): -Конструктор копирования (вызывает метод print для копии); -Конструктор с параметрами, один из параметров сделать по умолчанию. -Деструктор... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
14.03.2013, 10:28     Разработать класс, инкапсулирующий банковский счет
Прошу пардону за спагетти в примере -- не стал разбивать на функции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <string>
#include <iostream>
#include <stdexcept>
 
class Account {
 public:
  static const unsigned long int MAXIMUM_DEPOSIT;
  Account(int accountId, const std::string &ownerName,
    const std::string &currencyName, long int balance)
    : accountId(accountId), ownerName(ownerName),
    currencyName(currencyName), balance(balance) {}
  int getAccountId() const { return accountId; }
  const std::string &getOwnerName() const { return ownerName; }
  const std::string &getCurrencyName() const { return currencyName; }
  unsigned long int getBalance() const { return balance; }
  void withdraw(unsigned int amount) {
    if (balance < amount) {
      throw std::runtime_error("not enough equity on account");
    }
    balance -= amount;
  }
  void deposit(unsigned int amount) {
    if (balance + amount < balance) {
      throw std::overflow_error("adding amount to balance overflows maximum balance");
    }
    balance += amount;
  }
 private:
  int accountId;
  std::string ownerName;
  std::string currencyName;
  unsigned long int balance;
};
 
const unsigned long int Account::MAXIMUM_DEPOSIT = -1;
 
std::ostream &operator<<(std::ostream &stream, const Account &account) {
  return stream << "Accout{" <<
    "accountId=" << account.getAccountId() << "," <<
    "ownerName='" << account.getOwnerName() << "'," <<
    "currencyName='" << account.getCurrencyName() << "'," <<
    "balance=" << account.getBalance() << "}";
};
 
 
int main(int argc, char *argv[]) {
  
  Account a(1, "SOMEONE RICH", "USD", 50);
  
  std::cout << a.getOwnerName() << " has " << a.getBalance() << " " <<
    a.getCurrencyName() << " on account." << std::endl;
  
  // попытка положить на счет
  unsigned int amount = 1000;
  try {
    a.deposit(amount);
    std::cout << a.getOwnerName() << " deposited " << amount << " " <<
      a.getCurrencyName() << std::endl;
  } catch (std::exception &e) {
    std::cout << a.getOwnerName() << " could not deposit " << amount <<
      " " << a.getCurrencyName() << ": " << e.what() << std::endl;    
  }
  std::cout << a.getOwnerName() << " has " << a.getBalance() << " " <<
    a.getCurrencyName() << " on account." << std::endl;
 
  // попытка снять немного со счета
  amount = 100;
  try {
    a.withdraw(amount);
    std::cout << a.getOwnerName() << " withdrawn " << amount << " " <<
      a.getCurrencyName() << std::endl;
  } catch (std::exception &e) {
    std::cout << a.getOwnerName() << " could not withdraw " << amount <<
      " " << a.getCurrencyName() << ": " << e.what() << std::endl;    
  }
  std::cout << a.getOwnerName() << " has " << a.getBalance() << " " <<
    a.getCurrencyName() << " on account." << std::endl;
 
  // попытка снять слишком много со счета
  amount = 100000;
  try {
    a.withdraw(amount);
    std::cout << a.getOwnerName() << " withdrawn " << amount << " " <<
      a.getCurrencyName() << std::endl;
  } catch (std::exception &e) {
    std::cout << a.getOwnerName() << " could not withdraw " << amount <<
      " " << a.getCurrencyName() << ": " << e.what() << std::endl;    
  }
  std::cout << a.getOwnerName() << " has " << a.getBalance() << " " <<
    a.getCurrencyName() << " on account." << std::endl;
 
  return 0;
};
 
Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru