Задать вопрос
Nie_yar
@Nie_yar
Начинающий программист.

Как передать массив с данными из одного производного класса в другой или как сделать программу рабочей?

Задание
Создайте программу:
базовый класс Product (Продукция), который включает в себя
следующие данные:
• Наименование продукции;
• Код продукции;
базовый класс Balances (Остатки):
• Остатки на начало месяца;
производный класс Product _release (Выпуск изделий), состоит из:
• План выпуска;
• Остатки на конец месяца;
• Функция , которая считает
Объем реализации = Остатки на начало месяца + План выпуска –
Остатки на конец месяца.


Вот что я написал. Как теперь исправить код чтобы он начал работать?
Мой код
class Product {
	public: 
		int arrID[3]{1, 2, 3};
		string arrP[3]{"ogurec", "pomidor", "redis"};
};

class Balances {
	public:
		int arrOstN[3]{160, 145, 200};
};

class Product_release:Balances {
	public:
		int arrOstK[3]{125, 150, 114};
		int arrPlan[3]{200, 180, 170};
		void func();
};

void Product_release::func() {
	setlocale(LC_ALL, "Russian");
	
	int arrAll[3];
	for (int i = 0; i<3; i++){
			arrAll[i] = arrOstN[i] + arrPlan[i] - arrOstK[i];
	}
	for (int i = 0; i<3; i++){
		cout<<"Продукст "<<arrP[i]<<"имеет ID "<<arrID[i]<<"и объем реализации равен "<<arrAll[i]<<endl; // arrID and arrP was not declared
	}
}

int main() {
	setlocale(LC_ALL, "Russian");
	
	int num, exit;
	cout<<"Введите число:\n 1 - запись данных в файл;\n 2 - вывод содержимого файла на экран;\n 3 - выход. \n\n"<<endl;
	cin>>num;
	
Product_release product_release;
	
	switch(num) {
		case 1: cout<<"Вы выбрали запись данных в файл!\n\n"<<endl; product_release.func(); break;
		case 2: cout<<"Вы выбрали вывод содержимого файла на экран!\n\n"<<endl; break;
		case 3: cout<<"Вы действительно хотите выйти?\nВведите:\n1 - для выхода;\n2 - для отмены.\n\n"<<endl;
				cin>>exit;
				switch(exit) {
					case 1: exit; break;
					case 2: main(); break;
					default: cout<<"Вы ввели неверное число!"<<endl; main();
				}
				break;
		default: cout<<"Вы ввели неверное число!"<<endl;
	}
	return 0;
}


Еще буду признателен если покажете кодом, как перенести отображаемое
cout<<"Продукст "<<arrP[i]<<"имеет ID "<<arrID[i]<<"и объем реализации равен "<<arrAll[i]<<endl;
в файл.
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Или передавайте в функцию объект Product или сделайте так:
class Product_release:Balances,Product
( Как я понял тут 2 базовых класса, от которых должен наследоваться 3 )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы