Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
mish@kov
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 9
#1

Создать класс Account. Задача из книги Дейтелов "Как програмировать на С++" - C++

15.02.2013, 12:04. Просмотров 1293. Ответов 3
Метки нет (Все метки)

Начал изучение С++, прочитал главу "Введение в классы и объекты" в книге Дейтелов "Как програмировать на С++", ничего не поняв прочитал её ещё раз. Приступил к заданиям после главы, несколько раз прочитав задание и приблизительно поняв что нужно сделать приступил. Задание звучит так:
"Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для представления банковского баланса. Класс должен предусматривать конструктор, принимающий начальный баланс, используемый для инициализации элемента данных. Конструктор должен подтверждать значение начального баланса и гарантировать, что оно больше или равно 0. Если нет, баланс должен устанавливаться равным 0, и конструктор должен выводить сообщение об ошибке, указывающее, что начальный баланс был недействителен. В классе должны быть предусмотрены три элемент-функции. Функция credit должна добавлять указанную сумму из текущего баланса. Функция debit должна снимать деньги со счета, предварительно убедившись, что указанная сумма не превосходит баланса счета. Если превосходит, баланс нужно оставить без изменений и функция должна вывести сообщение вроде «Запрошенная сумма превышает баланс счета". Функция getBalance должна возвращать текущий баланс. Напишите программу, которая создает два объекта класса Account и тестирует элемент-функции класса."
Вроде написал. Сразу оговорюсь что изучаю С++ на рабочем месте так как много свободного времени, но сюда нельзя устанавливать программы поэтому скомпилировать и запустить то что я написал не могу. Пользуюсь NotePad++ для написания файлов. По этой причине не могу узнать правильно ли я всё сделал. Подскажите. Вот код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Определение класса Account
//файл представляет собой открытый интерфейс не раскрывая реализации элемент функций
//класса которые определяются в Account.cpp
#include <string>
using std::string;
 
    //Определение класса Account
    class Account
        {
            public:
                Account (int balance); //конструктор инициализирующий Баланс
                void setCreditBalance (int balance); //функция устанавливает баланс после внесения денег на счёт
                int getCreditBalance (); //функция получает текущий баланс после внесения денег на счёт
                void setDebitBalance (int balance); //функция устанавливает баланс после снятия денег
                int getDebitBalance (); //функция получает текущий баланс после снятия денег
                void getBalance (int balance) //функция получает текущий баланс
                void displayMessage (); //вывести сообщение с текущим счётом
                
            private:
                int balance; //баланс для данного cчёта (Accounta)
        };
C++ (Qt)
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
//Определения элемент-функций Account.
//Файл содержит реализацию функций, прототипы которых объявлены в Account.h
#include <iostream>
using std::cout;
using srd::cin;
using std::endl;
 
#include "Account.h"// включить определение класса Account
 
//конструктор
Account::Account (int balance)
{
 
    balance = 100;
    cout << "Your balance is 100 credits" << endl;
    {
        if (balance >= 0)
        cout << "Your balance is correct" << endl;
        
        if (balance < 0)
        balance = 0
        cout << "Error! Your balance was not valid, the balance is set to 0!" << endl;
    }
    
    //функция устанавливает баланс после внесения денег на счёт
    void Account::setCreditBalance (int balance)
    {
        balance = 100 + 100
        cout << "You have 100 credits to your balance is 200 credits" << endl;
    }
    
    //функция получает текущий баланс после внесения денег на счёт
    int Account::getCreditBalance ()
    {
        return balance;
    }
    
    //функция устанавливает баланс после снятия денег
    void Account::setDebitBalance (int balance)
    {
        if (balance >= 200);
        balance = 200 - 100
        cout << "Left on your account 100 credits" << endl;
        
        if (balance = 200 - 300)
        cout << "The requested amount exceeds the account balance" << endl;
    }
    
    //функция получает текущий баланс после снятия денег
    int Account::getDebitBalance ()
    {
        return balance;
    }
    
    // функция выводит сообщение с текущим балансом
    void Account::displayMessage ()
    cout << "Your account balance\n" << getBalance () << endl;
    
    //функция получает текущий баланс
    int Account::getBalance ()
    {
        return balance;
    }
}
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Демонстрация класса Account после определения интерфейса
#include <iostream>
using std::cout;
using std::endl;
 
#include "Account.h"
 
int main ()
{
    //создать два объекта Account
    Account account1 ("Welcome account1 your balance is 100 credits");
    Account account2 ("Welcome account2 your balance is 200 credits");
    
    //вывести исходное значения баланса
    account1.displayMessage();
    account2.displayMessage();
    
    system("PAUSE");
return 0
}
Скажите правильно я всё делаю. Или ещё пару раз прочитать главу.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2013, 12:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс Account. Задача из книги Дейтелов "Как програмировать на С++" (C++):

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

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

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

Реализовать класс Account моделирующий операции с банковским счётом (по книге Дейтелов) - C++
Начал изучать С++ по Дейтелам, застрял на одной задаче. Я считаю, что проблема в set-функции, но на 100% не уверен, перечитал несколько раз...

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

3
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
15.02.2013, 12:48 #2
Меня вот что волнует, ваш конструктор принимает int а вы передаеты в него char*.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Account::Account (int _balance)
{
 
        if (balance >= 0)
        cout << "Your balance is correct" << endl;
        
        if (balance < 0){
        balance = 0
        cout << "Error! Your balance was not valid, the balance is set to 0!" << endl;
        }else{
              balance = _balance;
           cout << "Your balance is"<< balance <<"credits" << endl;
        }
}
C++
1
2
Account account1 (35);
    Account account2 (-5);
Добавлено через 15 минут
У меня здесь немножко опечатка) Вот так должно быть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Account::Account (int _balance)
{
 
        if (_balance >= 0)
        cout << "Your balance is correct" << endl;
        
        if (_balance < 0){
        balance = 0
        cout << "Error! Your balance was not valid, the balance is set to 0!" << endl;
        }else{
              balance = _balance;
           cout << "Your balance is"<< balance <<"credits" << endl;
        }
}
1
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
15.02.2013, 13:14 #3
А зачем так много функций членов? В условии же сказано 3 функции.
0
mish@kov
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 9
15.02.2013, 13:28  [ТС] #4
Цитата Сообщение от mzarb Посмотреть сообщение
А зачем так много функций членов? В условии же сказано 3 функции.
я так понял что это подсказка.

Добавлено через 2 минуты
Цитата Сообщение от The_bolT Посмотреть сообщение
Меня вот что волнует, ваш конструктор принимает int а вы передаеты в него char*.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Account::Account (int _balance)
{
 
        if (balance >= 0)
        cout << "Your balance is correct" << endl;
        
        if (balance < 0){
        balance = 0
        cout << "Error! Your balance was not valid, the balance is set to 0!" << endl;
        }else{
              balance = _balance;
           cout << "Your balance is"<< balance <<"credits" << endl;
        }
}
C++
1
2
Account account1 (35);
    Account account2 (-5);
Добавлено через 15 минут
У меня здесь немножко опечатка) Вот так должно быть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Account::Account (int _balance)
{
 
        if (_balance >= 0)
        cout << "Your balance is correct" << endl;
        
        if (_balance < 0){
        balance = 0
        cout << "Error! Your balance was not valid, the balance is set to 0!" << endl;
        }else{
              balance = _balance;
           cout << "Your balance is"<< balance <<"credits" << endl;
        }
}
наверно всё-таки лучше ещё раз прочитать)
0
15.02.2013, 13:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 13:28
Привет! Вот еще темы с ответами:

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: &quot;+&quot;,...

Создать иерархию классов: родительский класс "Транспорт", класс-потомок "Техосмотр транспорта" - C++
Помогите пожалуйста написать программу Родительский класс &quot;Транспорт&quot;. Поля класса: тип транспорта, гос.номер, марка, Ф.И.О владельца,...

Создать класс "Шар", заданный радиусом, и определить производный класс "Окружность" - C++
Создать класс шар, заданный радиусом. Определить производный класс окружности. Предусмотреть виртуальную функцию для вычисления площади...

Создать класс "Кот" с полями "Возраст" и "Вес" - C++
Нужно сделать универсальный класс.Задание такое : Есть два кота (их может быть хоть 100) они характеризуются возрастом (int) и весом...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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