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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
#1

Создание класса (упражнение из книги Дейтелов) - C++

16.04.2011, 18:36. Просмотров 2039. Ответов 5
Метки нет (Все метки)

В книге Дейтелов в разделе "Упражнения" есть такое задание:

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

Внимание, вопрос: как?
Параграф прочитал, вроде понял, а как приступать к практике, так fail.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 18:36     Создание класса (упражнение из книги Дейтелов)
Посмотрите здесь:

Задача из книги Дейтелов - C++
Столкнулся с решением следующей программы, в мысли приходит только примитивное и решения с огромным количеством строк. Как можно...

Нужны упражнения из книги Дейтелов - C++
Всем привет! Пытаюсь своими силами изучить с++, пользуюсь книгой Дейтлов и компилятором VS Studio 2013 ...скиньте пожалуйста ответы к...

Ошибка в программе из книги Дейтелов - C++
Программа из книжки Дейтелов. Среда разработки - wxDev-C++. Выдаёт ошибку, никак не могу её найти. #include <iostream> #include...

Задача из книги Дейтелов Как программировать на C++ - C++
Задание: модифицируйте приложение, чтобы оно подтверждало действительность ввода.При любом вводе, даже если введено не 1 и не 2,...

Не получается создать класс Account из книги Дейтелов - C++
Задача: Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш...

Где взять решения задач из книги Дейтелов - C++
Здраствуйте. Откуда я могу найти решения задач по Дейтел?

Упражнение из книги. - C++
В книге (Язык программирования С++. Вводный курс. 4-е изд. (Стенли Липпман)) есть задание: "Напишите программу, читающую строки в...

Упражнение из книги Лафоре - C++
//11.cpp #include <iostream> using namespace std; class sterling { private: long pounds; int shil; int pens;

Упражнение №8 глава 5 из книги Страуструпа - C++
Здравствуйте. Помогите решить задание. Напишите программу,считывающую ряд чисел и записывающую их в vector<int>.После того как...

Упражнение для программы калькулятор из книги Язык программирования С++ - C++
Здравствуйте. Вот упражнение и калькулятор из книги Страуструпа. Не могли бы вы объяснить мне, как ввести в калькулятор функцию sin() ?...

Решить упражнение на файловый ввод/вывод из книги Лафоре (12 глава) - C++
Доброго времени суток. В очередной раз обращаюсь за советом касательно разъяснения задачи Понимаю типы ifstream, ofstream как...

Упражнение из книги Страуструпа. Программа угадай число. Можно ли написать лучше? - C++
Всем привет. Сделал упражнение к книге Бьерна Страуструпа "Программирование. Принципы и практика использования С++". Текст упражнения...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vitaska
84 / 84 / 2
Регистрация: 04.02.2010
Сообщений: 162
16.04.2011, 22:10     Создание класса (упражнение из книги Дейтелов) #2
если вы сами не будете пытаться выполнять уражнения, а будете выкладывать их на форум, то какой смысл от чтения книги и от учебы, ведь на работе за вас писать никто не будет. Попытайтесь хоть что-нибудь самостоятельно накидать. А если вы понятия не имеете с чего начать, я посоветовал еще разок прочитаь эту главу, или посмотреть как изложен этот-же материал в других книгах.
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
16.04.2011, 23:05  [ТС]     Создание класса (упражнение из книги Дейтелов) #3
Спасибо, учту.
IrineK
Заблокирован
16.04.2011, 23:53     Создание класса (упражнение из книги Дейтелов) #4
Трудность в корявом переводе оригинальной задачи на русский.

Вам будет легче решить понять и задачу, если вместо "баланс счета" использовать "остаток на счету".
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
17.04.2011, 00:39  [ТС]     Создание класса (упражнение из книги Дейтелов) #5
Спасибо.
nova555
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 17
19.10.2011, 15:00     Создание класса (упражнение из книги Дейтелов) #6
Цитата Сообщение от vortexx1 Посмотреть сообщение
В книге Дейтелов в разделе "Упражнения" есть такое задание:

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

Внимание, вопрос: как?
Параграф прочитал, вроде понял, а как приступать к практике, так fail.

Спасибо.
Тоже дошел до этой задачки.
Вот мои наработки:
Код Account.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
 
class Account
{
    public:
        Account( int balance );
        void setCreditBalance( int balance );
        int getCreditBalance();
        void setDebitBalance( int balance );
        int getDebitBalance();
        void setBalance( int balance );
        int getBalance();
             
    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
56
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
#include "Account.h"
 
//ГЄГ®Г*ñòðóêòîð
Account::Account( int balance )
{
    
    balance = 100;
    cout <<" Г‚Г*Гё ГЎГ*Г«Г*Г*Г± Г°Г*ГўГҐГ* 100 êðåäèòîâ" << endl;
    {
    
        if ( balance >= 100 )
        cout << "Г‚Г*Гё ГЎГ*Г«Г*Г*Г± êîððåêòåГ*" << endl;
        
        if ( balance < 0 )
        balance = 0;
        cout << "ГЋГёГЁГЎГЄГ*!!! Г‚Г*Гё ГЎГ*Г«Г*Г*Г± áûë Г*ГҐ äåéñòâèòåëåГ*, ГЎГ*Г«Г*Г*Г± ГіГ±ГІГ*Г*îâëåГ* Г*Г* 0!!!" 
        << endl;
    }
}
 
//ГґГіГ*êöèÿ äëÿ ГіГ±ГІГ*Г*îâêè ñóììû ГўГ*ГҐГ±ГҐГ*Г*ГіГѕ ïîëüçîâГ*òåëåì
void Account::setCreditBalance( int balance )
{
    balance = 100 + 100;
    cout << "Âû ГўГ*åñëè 100 êðåäèòîâ, ГўГ*Гё ГЎГ*Г«Г*Г*Г± Г°Г*ГўГҐГ* 200 êðåäèòîâ" << endl;
}
 
int Account::getCreditBalance()
{ 
    return balance;
}
 
void Account::setDebitBalance( int balance )
{
    if (balance >= 200);
    balance = 200 - 100;
    cout << " ГЌГ* ГўГ*ГёГҐГ¬ Г±Г·ГҐГІГҐ îñòГ*ëîñü 100 êðåäèòîâ" << endl;
    
    if (balance = 200 - 300);
    cout << "Г‡Г*ïðîøåГ*Г*Г*Гї ñóììГ* ïðåâûøГ*ГҐГІ ГЎГ*Г«Г*Г*Г± Г±Г·ГҐГІГ*" << endl;
}
 
int Account::getDebitBalance()
{
    return balance;
}
 
int Account::getBalance()
{
    return balance;
}
Код Account main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
using std::endl;
 
#include "Account.h"
 
int main()
{
    //ñîçäГ*ГІГј îáúåêò Account Г± èìåГ*ГҐГ¬ account1 ГЁ account2
    
    Account myAccount1;
    cout <<" Äîáðî ïîæГ*ëîâГ*ГІГј account1 ГўГ*Гё ГЎГ*Г«Г*Г*Г± Г°Г*ГўГҐГ* 100êðåäèòîâ" 
    << myAccount1.getCreditBalance() 
    << " Âû ГўГ*åñëè 100 êðåäèòîâ, ГўГ*Гё ГЎГ*Г«Г*Г*Г± Г°Г*ГўГҐГ* 200 êðåäèòîâ" << endl;  
       
    
       system("PAUSE");
    return 0;
}
Подскажите в правильном направлении я иду и где ошибки?
Сильно не пинайте т.к. программирование начал изучать недавно))
Yandex
Объявления
19.10.2011, 15:00     Создание класса (упражнение из книги Дейтелов)
Ответ Создать тему
Опции темы

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