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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2016, 14:33   #11
verdant322
Пользователь
 
Регистрация: 22.05.2016
Сообщений: 26
По умолчанию

владельца нужно считать из файла
verdant322 вне форума Ответить с цитированием
Старый 23.05.2016, 14:35   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А что такое? Назначается автоматически? Генератор случайных чисел чтоли. Вы проходили?

Кажется нет. На рис посмотри. Ты понимаешь?



Создай проект в VC .срр (ты программируешь в чистом С++, так?)

И ВСТАВЬ КОД.

После "BCE[0]" постовь точку "."

ЧТО ВИДИШЬ?

Код:
#include <iostream> 
using namespace std;

class KOSHELEK
{
public:         // Все значения будут присвоины в Конструкторе
	int N;
	char Vladelec;
	int Kupura[9];
	int Summa;
	

	KOSHELEK();  // Это Конструктор, он выполняется при создании экземпляра класса
	~KOSHELEK();
};



int main()
{
	
	KOSHELEK BCE[20];
	
	int n;
	cout << "Vvedite kol-vo chelovek:"
	cin >> n;

	BCE[0]

		
	
	system("pause");
	return 0;
}
Класс создавай не спомощЬю самой VC 2015, а ручками пропиши (просто скопируй). Потому что VC 2015 создат файл *.h куда поместит обьвления класса. А нам нужно (пока потом поменяем) чтобы было наглядно в одном файле *.срр (вместе с main())

Последний раз редактировалось Аватар; 25.05.2016 в 15:27.
ura_111 вне форума Ответить с цитированием
Старый 23.05.2016, 15:03   #13
verdant322
Пользователь
 
Регистрация: 22.05.2016
Сообщений: 26
По умолчанию

мне вот пытались сделать
Код:
 #include "iostream"
#include <ctime>
#include <string>

using namespace std;


/// Класс "кошелёк"
class Purse {

private:  // Приватные поля (доступ к ним имеется только внутри класса)    

	int     number;         // Номер кошелька
	string  owner;          // Владелец кошелька
	int*    banknotes;      // Купюры
	int     summ;           // Общая сумма в кошельке

public:  // Публичные поля (Доступ к ним можно получить из окружения класса)

	static int Instances;   // Экземпляров создано
	static int TotalSumm;   // Общая сумма на кошельках

private: // Приватные методы

	void computeSumm(){     // Вычисляет сумму на кошельке

		this->summ = 0;     // Обнуляем старое значение суммы

		for (int i = 0; i < 9; i++){               // Перебираем все номиналы купюр
			this->summ += this->banknotes[i] * i;  // Умножаем номинал купюры на количество купюр и прибавляем к сумме кошелька
		}

	}

	void computeTotalSumm(){    // Вычесляет сумму на всех кошельках
		Purse::TotalSumm -= this->summ;  // Удаляем сумму этого конкретного кошелька из общей суммы
		this->computeSumm();             // Пересчитываем сумму на данном конкретном кошельке
		Purse::TotalSumm += this->summ;  // Добавляем сумму данного конкретного кошелька к общей сумме
	}

public: // Публичные методы
	
	Purse(int number, string owner){  // Конструктор, принимает номер кошелька и имя владельца

		// инициализируем поля класса
		this->number    = number;    
		this->owner     = owner;
		this->banknotes = new int[8];
		this->summ      = 0;

		for (int i = 0; i < 9;i++){ // Обнуляем количество купюр
			this->banknotes[i] = 0; 
		}

		

		if (Purse::Instances < 20){   // Проверяем сколько екземпляров. Если пытаются создать больше 20 выбрасываем исключение
			Purse::Instances++;       // Добавляем единицу к счётчику экземпляров
		}
		else{
			throw overflow_error("Недопустимо создавать больше 20 экземпляров"); // Исключение переполнения
		}
	}

	~Purse(){                       // Деструктор
		Purse::Instances--;         // Уменьшаем счётчик созданных экземпляров на 1

		for (int i = 0; i<9; i++){  // Пересчёт общей суммы
			this->banknotes[i] = 0;
		}

		this->computeTotalSumm();
	}

	void ChangeBanknotes(int nominal, int count){  // Смена количества банкнот. Принимает номинал купюры и количество.
		
		if (nominal > 8 || nominal < 0){
			throw invalid_argument("Номинал не может быть больше 8 или меньше 0");
		}

		if (count < 0){
			throw invalid_argument("Количество купюр не может быть отрицательно");
		}

		this->banknotes[nominal] = count;
		this->computeTotalSumm(); // Пересчитываем сумму
	}

	void ShowAllFields(){    // Выводит все поля
		cout << "Номер кошелька: "    << this->number << endl;
		cout << "Владелец кошелька: " << this->owner  << endl;
		cout << "Сумма в кошельке: "  << this->summ   << endl;
		cout << "Банкноты: "                          << endl;

		for (int i = 0; i < 9; i++){
			cout << "Номинал: " << i << " Количество: " << this->banknotes[i] << endl;
		}

		cout << endl;

	}

	static void ShowTotalSumm(){    // Выводит сумму на кошельках
		cout << "Общая сумма во всех кошельках: " << Purse::TotalSumm << endl;
	}

};

// Инициализируем статические поля класса "кошелёк"
int Purse::Instances = 0;
int Purse::TotalSumm = 0;

int main(){
	system("PAUSE");
}

Последний раз редактировалось verdant322; 23.05.2016 в 15:36.
verdant322 вне форума Ответить с цитированием
Старый 23.05.2016, 15:08   #14
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Мне надо немного времени, чтобы познакомится с кодом. Но в нем что то есть... 15мин

Кстате, а кто тебе написал (если не секрет?)

Последний раз редактировалось Аватар; 25.05.2016 в 15:28.
ura_111 вне форума Ответить с цитированием
Старый 23.05.2016, 15:10   #15
verdant322
Пользователь
 
Регистрация: 22.05.2016
Сообщений: 26
По умолчанию

да на одном форуме нашел попросил помощь но у него было мало времени что б дописать до конца
verdant322 вне форума Ответить с цитированием
Старый 23.05.2016, 15:11   #16
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Нахрена внутри класса делать ввод и вывод? Это в майне делается.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 23.05.2016, 15:16   #17
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Это в задании так сказано.
ura_111 вне форума Ответить с цитированием
Старый 23.05.2016, 15:33   #18
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

простите что не по теме, но
оформляйте пожалуйста код правильно, так и вам и остальным удобней его читать будет для оформления кода используйте теги
[CODE][ /CODE]
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 23.05.2016, 15:55   #19
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ты ещё здесь?
Подожди ещё 1 час. Код очень сложный. В такие моменты понимаешь, что человек на голову выше тебя в программировании.
Я конечно разберусь (и не в такое вникал), но нужно время.
ura_111 вне форума Ответить с цитированием
Старый 23.05.2016, 15:57   #20
verdant322
Пользователь
 
Регистрация: 22.05.2016
Сообщений: 26
По умолчанию

хорошо
verdant322 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c# лабораторная nikitaivanov Фриланс 1 26.05.2012 15:05
лабораторная за $$$ djendalf Фриланс 0 26.12.2011 22:41
Лабораторная по C++ Mr.Voragus001 Помощь студентам 0 10.12.2011 13:02
Лабораторная asya92 Помощь студентам 4 20.12.2010 18:52
C# лабораторная Tase4ka Помощь студентам 1 09.12.2010 03:51