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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ ошибка Инициализация функции http://www.cyberforum.ru/cpp-beginners/thread277598.html
проблема такая когда набираю код в компиляторе вручную , в коде не появляются сегменты функций(такие крестики слева от int main или void) и в списке функций не одна не отображается при компиляции возникает куча ошибок, а если идентичный код копирую из примера и вставляю в компилятор - там все сегменты разделены и функции отображены - проблем нет. может я неверно набираю функции или перед их...
C++ CopyFileW Прошу подсказать, почему CopyFileW не хочет делать копию файла, если сам исходный файл на диске D, а скопировать необходимо на диск C. http://www.cyberforum.ru/cpp-beginners/thread277597.html
C++ массивы
Помогите решить массив,ни как не получается 1 Вывести на экран (в одну строку) все элементы главной диагонали массива начиная с элемента, расположенного в левом верхнем углу. 2 Известен номер столбца, на которой расположен элемент главной диагонали массива. Вывести на экран значение этого элемента.
генератор паролей C++
кто нибудь может показать программку генератор паролей?
C++ printf(); http://www.cyberforum.ru/cpp-beginners/thread277580.html
printf("И : %s ",argv); в цикле вывожу параметры которые задал в консоле, но вместо строки выводит лишь один символ. К примеру : вместо ".cpp" - выводит только ".". Как исправить ?
C++ Абстрактный класс с виртуальной функцией Создать абстрактный базовый класс Number с виртуальной функцией - норма. Создать производные классы Complex, Vector из 10 элементов, Matrix 2 на 2, в которых данная функция переопределена. В функции main определить массив указателей на абстрактный класс, которым присваиваются адреса различных объектов. подробнее

Показать сообщение отдельно
nova555
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 17
19.10.2011, 15:00     Создание класса (упражнение из книги Дейтелов)
Цитата Сообщение от 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;
}
Подскажите в правильном направлении я иду и где ошибки?
Сильно не пинайте т.к. программирование начал изучать недавно))
 
Текущее время: 18:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru