Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2010, 13:20   #1
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
Сообщение Класс. Проблема с выводом.

Есть класс банк, в банке-клиенты,а у каждого есть свой счет.
Что у меня не так? Может я что организовал неправильно?

Код:
class bank
{
private:
	char bank_name[44];
	char name[44];
	char value;
public:
	bank(){}
	bank(char *,char *,int);
	void show();
};
int n,m;
bank::bank(char *_bank_name,char *_name,int _value)
{
	cout<<" input _name of bank:"<<endl;
	cin>>_bank_name;
	strcpy(bank_name,_bank_name);
	cout<<" how mach persons:"<<endl;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cout<<" input person:"<<endl;
		cin>>_name;
		strcpy(name,_name);

		cout<<"input value:"<<endl;
		cin>>_value;
		value=_value;
		
	}
}
void bank::show()
{
	cout<<bank_name<<endl;
for(int i=0;i<n;i++)
		cout<<name<<value;
}
void main()
{
	bank object;
	bank ob;
	ob.show();
	system("PAUSE");
}
zhenya.ya вне форума Ответить с цитированием
Старый 19.09.2010, 13:34   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. Ничего не организовано
2. Всё не так

Банк не отвечает за ввод данных и за их вывод пользователю. Класс "банк" должен хранить данные и совершать какие-либо банковские операции.
pu4koff вне форума Ответить с цитированием
Старый 19.09.2010, 13:54   #3
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию

А как тогда сделать так, чтобы банк отвечал за ввод данных?
zhenya.ya вне форума Ответить с цитированием
Старый 19.09.2010, 13:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтобы банк отвечал за ввод данных?
Ни один банк такого не позволит себе.
Представь ты кредитку вкинул(а) и вводишь не пинкод а номер телефона, а потом подаешь в суд на то что банк не удостоил тебя деньгами по введенному.
Банк должен отвечать только за банковские операции - даже за выдачу не должен, разве что сам механизм банкомата сломается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2010, 14:12   #5
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
По умолчанию

хм... Вы меня в тупик поставили. А что тогда должно вводить в банк данные?
И как это "что-то" должно бять связано с банком?
zhenya.ya вне форума Ответить с цитированием
Старый 19.09.2010, 15:12   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Класс "банкомат" должен принять идентификационные данные, отправить запрос, выдать купюры (или послать клиента в ...) после ответа. ответ соответственно нужно ожидать, если ответа нет послать клиента в...

Класс "Банк" должен прослушивать сеть, принять запрос от клиента-банкомата (их может быть сколь угодно), обработать запрос (например полезть в БД с просьбой получения данных о счете такого-то клиента, согласно принятому от банкомата ID), и дать ответ, либо "можно" либо "нельзя"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2010, 16:26   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Вот пример заготовки для студенческой работы:
Код:
// Банк
class Bank
{
private:
  std::string m_name; // Наименование банка
  std::vector<Person*> m_persons; // Клиенты банка
public:
  Bank(std::string const &name);
  ~Bank();
public:
  // Получить клиентов банка
  std::vector<Person*>& get_persons(); // Спорный метод. Добавил для простоты реализации. Пойдёт только для студенческой работы
  // Добавить клиента банка
  Person* add_person(std::string const &name);
  // Удалить информацию о клиенте
  void del_person(Person &person);
};

// Клиенты банка
class Person
{
private:
  std::string m_name; // ФИО
  int m_money; // Сумма денежек в банке
  Bank* m_bank; // Банк
public:
  Person(Bank& bank);
  Person(Bank& bank, int money);
  Person();
public:
  // Получить сумму (остаток) денег на счете
  int get_money() const;
  // Положить (если число отрицательное, то снять) денюжку на счет
  void add_money(int count);
};

int main()
{
  std::string bank_name;
  int person_count;

  cout << "Bank name:" << endl;
  cin >> bank_name;
  
  cout << "Person count:" << endl;
  cin >> person_count;

  Bank bank(bank_name);
  Person *p;
  std::string person_name;
  int person_money;
  for (int i = 0; i < person_count; ++i)
  {
    cout << "Person name:" << endl;
    cin >> person_name;
    cout << "Person money:" << endl;
    cin >> person_money;
    p = bank.add_person(person_name);
    p->add_money(person_money);
  }
}
Всё это грубо и не совсем правильно, но для студенческой работы большего и не нужно.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выводом данных в С++ justso Помощь студентам 3 19.05.2010 11:04
Проблема с выводом на экран NeveX Общие вопросы .NET 3 20.12.2009 13:57
проблема с выводом информацыи Betman Общие вопросы Delphi 2 29.10.2009 17:09
проблема с вводом/выводом revan-8 Общие вопросы C/C++ 10 09.07.2009 20:54
Проблема с выводом текста limon PHP 6 30.11.2008 20:03