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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nova555
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 17
#1

Помогите решить задачку по Дейтлу - C++

20.10.2011, 16:09. Просмотров 420. Ответов 4
Метки нет (Все метки)

Задачка:
Создайте класс Account, который мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для представления банковского баланса. Класс должен предусматривать конструктор, принимающий начальный баланс, используемый для инициализации данных. Конструктор должен подтверждать значение начального баланса и гарантировать, что оно больше или равно 0. Если нет, баланс должен устанавливаться равным 0, и конструктор должен выводить сообщение об ошибке, указывающее, что начальный баланс был недействителен. В классе должны быть предусмотрены три элемент функции. Функция credit должна добавлять указанную сумму из текущего баланса. Функция debit должна снимать деньги со счета, предварительно убедившись, что указанная сумма не превосходит баланса счета. Если превосходит, баланс нужно оставить без изменений и функция должна вывести сообщение вроде "Запрошенная сумма превышает баланс счета". Функция getBalance должна возвращать текущий баланс. Напишите программу, которая создает два объекта класса Account и тестирует элемент функции класса.

Вот мои наработки.
Много всего лишнего, т.к. я только начал изучать с++
Код Account.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Г”Г*éë Account.h ñîäåðæèò îïðåäåëГ*ГЁГҐ ГЄГ«Г*Г±Г±Г* Г± ïðîòГ*ГІГЁГЇГ*ìè ГґГіГ*êöèé
#include <iostream>
using std::cout;
using std::endl;
 
//îïðåäåëåГ*ГЁГҐ ГЄГ«Г*Г±Г±Г*
class Account
{
    public:
        Account( int klient, int klient1 );
        void setCreditBalance( int );
        int getCreditBalance();
        void setDebitBalance( int );
        int getDebitBalance();
        void setBalance( int );
        int getBalance();
        void displayMessage();
    private:
        int balance;
    };
Код Account.cpp
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
//Г”Г*éë account.cpp ñîäåðæèò ýëåìåГ*ГІ-ГґГіГ*êöèè ГЄГ«Г*Г±Г±Г* Account;
#include <iostream>
using std::cout;
using std::endl;
 
#include "Account.h"
 
//ГЉГ®Г*ñòðóêòîð Account
Account::Account( int klient, )
{
    setBalance( klient );
 
}
 
void Account::setBalance( int )
{
    balance = 100;
}
 
int Account::getBalance()
{
    return balance;
}
 
void Account::setCreditBalance( int klient )
{
    balance = 100 + 100;
}
 
int Account::getCreditBalance()
{
    return balance;
}
 
void Account::setDebitBalance( int klient )
{
    if ( balance >= 200 );
    balance = 200 - 200;
    
    if ( balance < 200 )
    {
        cout << " Г‡Г*ïðîøåГ*Г*Г*Гї ñóììГ* ïðåâûøГ*ГҐГІ ГЎГ*Г«Г*Г*Г± Г±Г·ГҐГІГ*" << endl;
    balance = 200;
    }
}
 
int Account::getDebitBalance()
{
    return balance;
}
 
void displayMessage()
{
    cout << "" << getBalance() << endl;
}
Код Account main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
#include "Account.h"
 
 
int main()
{
    Account account1;
    
    
    setlocale(LC_ALL,"rus");
    system("PAUSE");
    return 0;
}
Программирую в wxDev-C++
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 16:09     Помогите решить задачку по Дейтлу
Посмотрите здесь:

Помогите решить задачку (БД и CListCtrl)... - C++
Задача собственно такая- 1.Есть набор записей (50 колонок и 1500 строк), который отображается в CListCtrl в событии WM_INITDIALOG. ...

Решить задачку - C++
Когда встречаю эпсилон возникают проблемы, не пойму что это и как мудрить , знаю что надо использовать float и int все ) Умножить, сложить...

Как решить С++ задачку? - C++
Уважаемые программисты! Хочу обратиться за помошью к вам. Я не знаю как закончить класс (см. внизу), чтобы программа выполнялась. Буду...

ПОМОГИТЕ отредактировать задачку! - C++
Я полностью запутался! и уже не понимаю как правильно задан вопрос! вообще уже каша....... Поле шахматной доски определяется парой...

Помогите решать задачку в C++ - C++
Пожалуйста, помогите решать задачку. Разработать алгоритм и программу решений следующих задач: Описать функцию Fib(N) целого типа,...

Помогите кто может заделать задачку с бинарным деревом... - C++
Вершина бинарного дерева содержит ключ, строку и два указателя на потомков. Написать функцию, которая подсчитывает число ветвей от корня до...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
20.10.2011, 16:41     Помогите решить задачку по Дейтлу #2
C++
1
2
3
4
5
6
7
8
9
10
class Account
{
public:
    Account( int );
    int getBalance();
    void credit( int );
    void debit( int );
private:
    int balance;
};
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
Account::Account ( int thisBalance )
{
    if ( thisBalance < 0 )
    {
        std::cout << "Баланс не может быть отрицательным и поэтому будет равен 0." << std::endl;
        balance = 0;
    }
    else
        balance = thisBalance;
}
 
int Account::getBalance()
{
    return balance;
}
 
void Account::credit ( int thisCredit )
{
    if ( thisCredit < 0 )
        std::cout << "Ошибка, кредит не должен быть отрицательным." << std::endl;
    else
        balance += thisCredit;
}
 
void Account::debit( int thisDebit )
{
    if ( thisDebit > balance )
        std::cout << "Ошибка, запрашиваемая сумма превосходит баланс текущего счета." << std::endl;
    else
        balance -= thisDebit;
}
nova555
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 17
20.10.2011, 16:44  [ТС]     Помогите решить задачку по Дейтлу #3
Toshkarik, спасибо, но до else по книги я еще не дошел, без else как тогда будет?
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
20.10.2011, 16:51     Помогите решить задачку по Дейтлу #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Заменил else на if.
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
Account::Account ( int thisBalance )
{
    if ( thisBalance < 0 )
    {
        std::cout << "Баланс не может быть отрицательным и поэтому будет равен 0." << std::endl;
        balance = 0;
    }
    if ( thisBalance >= 0 )
        balance = thisBalance;
}
 
int Account::getBalance()
{
    return balance;
}
 
void Account::credit ( int thisCredit )
{
    if ( thisCredit < 0 )
        std::cout << "Ошибка, кредит не должен быть отрицательным." << std::endl;
    if ( thisCredit >= 0 )
        balance += thisCredit;
}
 
void Account::debit( int thisDebit )
{
    if ( thisDebit > balance )
        std::cout << "Ошибка, запрашиваемая сумма превосходит баланс текущего счета." << std::endl;
    if ( thisDebit <= balance )
        balance -= thisDebit;
}
Вот собственно проверка
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
#include <iostream>
#include "Account.h"
 
int main()
{
    setlocale( LC_ALL, "RUS" );
 
    Account myAcc1( 5000 );
    Account myAcc2( -200 );
    std::cout << "Balance myAcc1 = " << myAcc1.getBalance() << std::endl;
    std::cout << "Balance myAcc2 = " << myAcc2.getBalance() << std::endl;
 
    myAcc1.credit( -111 );
    myAcc2.credit( 500 );
    std::cout << "Balance myAcc1 = " << myAcc1.getBalance() << std::endl;
    std::cout << "Balance myAcc2 = " << myAcc2.getBalance() << std::endl;
 
    myAcc1.debit( 6000 );
    myAcc2.debit( 100 );
    std::cout << "Balance myAcc1 = " << myAcc1.getBalance() << std::endl;
    std::cout << "Balance myAcc2 = " << myAcc2.getBalance() << std::endl;
 
    system( "pause" );
    return 0;
}
Сам изучаю по этой книге, книга не плохая.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 16:58     Помогите решить задачку по Дейтлу
Еще ссылки по теме:

Помогите придумать несложную задачку по теме "Шаблоны классов" - C++
Привет всем, я новичок в С++, и хочу сделать какую нибудь задачу по теме &quot;шаблоны классов&quot;, придумайте пожалуйста какую нибудь не сильно...

помогите решить - C++
Написать и протестировать программу STREND (str 1,str 2) которая возвращает 1,если строка str 1 расположена в конце строки str 2 ,и 0-в...

помогите решить - C++
1- составить прогу для решения уравнения см фото. примерное решение ,но тут проблема в уравнении int main() { float a, b,...

помогите решить)) - C++
привет всем! помогите решить (x mod3)-1; я новичек и еще много не доганяю если можно распишите с коментариями спс.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
nova555
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 17
20.10.2011, 16:58  [ТС]     Помогите решить задачку по Дейтлу #5
Спасибо попробую.
Yandex
Объявления
20.10.2011, 16:58     Помогите решить задачку по Дейтлу
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru