Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> классы. Вывод информации 
:(
    Опции темы
zhenya1
Дата 20.9.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 20.9.2010

Репутация: нет
Всего: нет



Неработает вывод данных. Как правильно написать вывод на экран данных в моем классе?
Может я еще что не так сделал?
Код

class bank
{   
private:
    char bank_name[44];
    char name[44];
    int value;
public:
    bank();
    bank(int );
    void add(char *,char *,int);
    bank (const bank &a);
    void show();
};
int n,m;
bank::bank() : value(0)
{
    *bank_name = *name = '\0';
}
bank::bank(int a)
{
    add(bank_name,name,value);
}
void bank::add(char *bank_name,char *name,int _value)
{
    cout<<" input _name of bank:"<<endl;
    cin>>bank::bank_name;
    cout<<" how mach persons:"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<" input person:"<<endl;
        cin>>bank::name;

        cout<<"input value:"<<endl;
        cin>>_value;
        value=_value;
    }
}
void bank::show()
{
    cout<<bank_name<<endl;
    cout<<name<<endl;
    cout<<value<<endl;
}
bank::bank(const bank &a)
{
    strcpy(bank::bank_name,bank_name);
    strcpy(bank::name,name);
      
}

void main()
{
    bank obj;
    bank object(5);
    bank ob(object);
    object.show();
    system("PAUSE");
}

PM MAIL   Вверх
vnf
Дата 20.9.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



как раз вывод написан правильно и работает

неправильно (я так понимаю это конструктор копирования):
Код

bank::bank(const bank &a)
{
    strcpy(bank::bank_name,bank_name);
    strcpy(bank::name,name);
      
}

надо

Код

bank::bank(const bank &a)
{
    strcpy(bank_name, a.bank_name);
    strcpy(name,a.name);
      
}



это я тоже непонял
Код

void bank::add(char *bank_name,char *name,int _value)
{
    cout<<" input _name of bank:"<<endl;
    cin>>bank::bank_name;
    cout<<" how mach persons:"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<" input person:"<<endl;
        cin>>bank::name;

        cout<<"input value:"<<endl;
        cin>>_value;
        value=_value;
    }
}


вы хотели заполнить объект из пользовательского ввода? Тогда примерно так
Код

void bank::add()
{
    cout<<" input _name of bank:"<<endl;
    cin>>bank_name;
    cout<<" input person:"<<endl;
    cin>>name;
    cout<<"input value:"<<endl;
    cin>>value;
}


внутри методов класса не требуется уточнять имена членов класса , они и так видны (писать bank:: не надо) .

Еще вопрос, что именно надо реализовать? Объект банк, в котором содержиться название банка и имя президента банка или что то иное?



Это сообщение отредактировал(а) vnf - 20.9.2010, 22:42
PM MAIL   Вверх
zhenya1
Дата 20.9.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 20.9.2010

Репутация: нет
Всего: нет



  Задание: есть класс банк, в банке n-людей, а у них есть счета;

Я пологаю нужно реализовать так: ввожу имя банка, дальше ввожу кол-во людей т.е. n , дальше ввожу и его счет имя 1-ого и его счет, потом имя второго и т.д.
В результате:
WTB 
Evgeniy 34534
belka 253425
и т.д. 

вот этим я пытался и реализовать заполнение:

Код

void bank::add(char *bank_name,char *name,int _value)
{
    cout<<" input _name of bank:"<<endl;
    cin>>bank::bank_name;
    cout<<" how mach persons:"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<" input person:"<<endl;
        cin>>bank::name;

        cout<<"input value:"<<endl;
        cin>>_value;
        value=_value;
    }
}

Как можно было бы правильно это сделать?
PM MAIL   Вверх
toxx
Дата 20.9.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



zhenya1
наверно должен быть класс не банк, а класс человек и таких людей должно быть N (т.е. N экземпляров класса человек)
PM MAIL   Вверх
zhenya1
Дата 21.9.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 20.9.2010

Репутация: нет
Всего: нет



Цитата

т.е. N экземпляров класса человек

 я не понял как это...
PM MAIL   Вверх
djamshud
Дата 21.9.2010, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



zhenya1, клонирование! :)

Код

class man{}man1,man2,man3;


Вот вам три человеческих клона.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
vnf
Дата 21.9.2010, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Если серьёзно, то у вас две сущности в прдметной области: банк и клиент. Клиентов много и они принадлежат банку.
Соответственно и два класса Bank и Client.  У класса Bank есть поле - список клиентов (clients)

Код

class Client
{
   std::string name;
   std::string account;
public:
   Client(std::string name, std::string account):name(name),account(account)
   {};
}

class Bank
{
   std::string bankname;
   std::vector<Client> clients;
public:
   Bank(std::string bankname):bankname(bankname)
   {};
   void addClient(Client & client)
   {
        clients.push_back(client);
   }
}

// заполняем

    cout<<" input _name of bank:"<<endl;
    std:: string bank_name;
    cin>>bank_name;
    Bank bank(bank_name);
    cout<<" how mach persons:"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<" input person:"<<endl;
        std:: string name;
        cin>>name;

        cout<<"input value:"<<endl;
        std:: string account;
        cin>>account;
        bank.addClient(Client(name, account));
    }


не компилировал, возможны ошибки


Это сообщение отредактировал(а) vnf - 21.9.2010, 22:31
PM MAIL   Вверх
toxx
Дата 21.9.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



также можно создать массив из объектов людей 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.