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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2021, 23:47   #1
Psyho_link
Пользователь
 
Регистрация: 04.11.2020
Сообщений: 14
Печаль составить блоксхему

уже часа 3 сижу и не могу вдуплить как построить схему для кода по госту.
Код:
#include <iostream>

using namespace std;

struct sell_budget //создаем структуру
{
	bool is_empty = true; //проверка структуры на пустоту
	int plan1, plan2, plan3, plan4; //Запланированные продажи за 4 квартала (ед)
	int cost1, cost2, cost3, cost4; //Цены за единицу товара за 4 квартала
	int quart1_sell, quart2_sell,	//Запланированные 
		quart3_sell, quart4_sell,	//продажи в рублях
		summ_sell;
};

struct material_costs //создаем структуру
{
	bool is_empty = true; //проверка структуры на пустоту
	int res;
	int cost;
	int req_res1, req_res2, req_res3, req_res4;
	int sum_of_res;
	int cost_sum1, cost_sum2, cost_sum3, cost_sum4;
	int sum_of_cost;

};

struct labor_cost //создаем структуру
{
	bool is_empty = true; //проверка структуры на пустоту
	int cost_hours;
	int sum_cost_hours;
	int labor_cost_hours1, labor_cost_hours2, labor_cost_hours3, labor_cost_hours4;
	int hourly_wage_rate; //Почасовая тарифная ставка
	int labor_cost1, labor_cost2, labor_cost3, labor_cost4;
	int labor_cost_summ;
};

struct overhead_cost //создаем структуру
{
	bool is_empty = true; //проверка структуры на пустоту
	int over_rate;
	int over_variable1, over_variable2, over_variable3, over_variable4, over_variable_sum;
	int over_static;
	int over_sum1, over_sum2, over_sum3, over_sum4, over_sum_all;
};

void sell_budget_input(sell_budget &s_b)
{
	bool check = true;
	while (check)
	{
		cout << "Введите запланированные продажи (предполгаемое кол-во)" << endl;
		cout << "I Квартал: ";
		cin >> s_b.plan1;

		cout << "\nII Квартал: ";
		cin >> s_b.plan2;

		cout << "\nIII Квартал: ";
		cin >> s_b.plan3;

		cout << "\nIV Квартал: ";
		cin >> s_b.plan4;

		if (cin.fail() || s_b.plan1 < 0 || s_b.plan2 < 0 || s_b.plan3 < 0 || s_b.plan4 < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}

	check = true;
	while (check)
	{
		cout << "\nВведите цену за единицу\n" << endl;
		cout << "I Квартал: ";
		cin >> s_b.cost1;

		cout << "\nII Квартал: ";
		cin >> s_b.cost2;

		cout << "\nIII Квартал: ";
		cin >> s_b.cost3;

		cout << "\nIV Квартал: ";
		cin >> s_b.cost4;

		if (cin.fail() || s_b.cost1 < 0 || s_b.cost2 < 0 || s_b.cost3 < 0 || s_b.cost4 < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}

		check = false;

	}
}

void material_costs_input(material_costs &m_c)
{
	bool check = true;

	while (check)
	{
		cout << "Введите потребность материалов на единицу" << endl;
		cin >> m_c.res;

		if (cin.fail() || m_c.res < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;

	}

	check = true;
	while (check)
	{
		cout << "Введите стоимость ед материала в рублях" << endl;
		cin >> m_c.cost;

		if (cin.fail() || m_c.cost < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}
}

void labor_cost_input(labor_cost &l_c)
{
	bool check = true;
	while (check)
	{
		cout << "Введите прямые затраты труда на изделие в часах./ед." << endl;
		cin >> l_c.cost_hours;

		if (cin.fail() || l_c.cost_hours < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}

	check = true;
	while (check)
	{
		cout << "Введите почасовую тарифную ставку." << endl;
		cin >> l_c.hourly_wage_rate;

		if (cin.fail() || l_c.hourly_wage_rate < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}
}

void overhead_cost_input(overhead_cost &o_c)
{
	bool check = true;
	while (check)
	{
		cout << "Введите ставку переменных накладных расходов." << endl;
		cin >> o_c.over_rate;

		if (cin.fail() || o_c.over_rate < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}

	check = true;
	while (check)
	{
		cout << "Введите ставку постоянных накладных расходов." << endl;
		cin >> o_c.over_static;

		if (cin.fail() || o_c.over_static < 0)
		{
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			continue;
		}
		check = false;
	}

}

void print_sell_budget(sell_budget const &s_b)
{
	if (s_b.is_empty)
	{
		cout << "Чтобы вывести модель бюджета продаж вначале"
			"составте модель бюджета продаж" << endl;
		return;
	}

	cout << "Период (квартал) \t \t 1 \t 2 \t 3 \t 4 \t Сумма \n \n"
		<< "Запланированные продажи \t " << s_b.plan1 << "\t " << s_b.plan2 << "\t " << s_b.plan3 << "\t " << s_b.plan4 << "\t\n" << endl
		<< "Цена за единицу \t \t" << s_b.cost1 << "\t " << s_b.cost2 << "\t " << s_b.cost3 << "\t " << s_b.cost4 << "\t\n" << endl
		<< "Цена за единицу \t \t" << s_b.quart1_sell << "\t " << s_b.quart2_sell << "\t " << s_b.quart3_sell << "\t " << s_b.quart4_sell << "\t " << s_b.summ_sell << "\n" << endl;
}

void print_material_costs(sell_budget const &s_b, material_costs const &m_c)
{
	if (m_c.is_empty)
	{
		cout << "Чтобы вывести модель бюджета продаж вначале"
			"составте модель бюджета продаж" << endl;
		return;
	}
Psyho_link вне форума Ответить с цитированием
Старый 20.06.2021, 23:48   #2
Psyho_link
Пользователь
 
Регистрация: 04.11.2020
Сообщений: 14
По умолчанию

Код:
cout << "Период (квартал) \t \t \t \t \t 1 \t 2 \t 3 \t 4 \t Сумма \n \n"
		<< "План выпуска продукции (ед.) \t \t \t \t " << s_b.plan1 << "\t " << s_b.plan2 << "\t " << s_b.plan3 << "\t " << s_b.plan4 << "\t\n" << endl
		<< "Потребность на единицу (кг.) \t \t \t \t " << m_c.res << "\t " << m_c.res << "\t " << m_c.res << "\t " << m_c.res << "\t\n" << endl
		<< "Потребность в основных материалах всего (кг.) \t \t " << m_c.req_res1 << "\t " << m_c.req_res2 << "\t " << m_c.req_res3 << "\t " << m_c.req_res4 << "\t " << m_c.sum_of_res << "\n" << endl
		<< "Стоимость единицы материала (руб.) \t \t \t " << m_c.cost << "\t " << m_c.cost << "\t " << m_c.cost << "\t " << m_c.cost << "\t\n" << endl
		<< "Стоимость закупок материала \t \t \t \t " << m_c.cost_sum1 << "\t " << m_c.cost_sum2 << "\t " << m_c.cost_sum3 << "\t " << m_c.cost_sum4 << "\t " << m_c.sum_of_cost << "\n" << endl;
}

void print_labor_cost(sell_budget const &s_b, labor_cost const &l_c)
{
	if (l_c.is_empty)
	{
		cout << "Чтобы вывести модель бюджета продаж вначале"
			"составте модель бюджета продаж" << endl;
		return;
	}

	cout << "Период (квартал) \t \t \t \t 1 \t 2 \t 3 \t 4 \t Сумма \n\n"
		<< "План выпуска продукции (ед.) \t \t \t " << s_b.plan1 << "\t " << s_b.plan2 << "\t " << s_b.plan3 << "\t " << s_b.plan4 << "\t\n" << endl
		<< "Прямые затраты труда на изделие в часах./ед. \t " << l_c.cost_hours << "\t " << l_c.cost_hours << "\t " << l_c.cost_hours << "\t " << l_c.cost_hours << "\t\n" << endl
		<< "Прямые затраты труда всего в часах \t \t " << l_c.labor_cost_hours1 << "\t " << l_c.labor_cost_hours2 << "\t " << l_c.labor_cost_hours3 << "\t " << l_c.labor_cost_hours4 << "\t " << l_c.sum_cost_hours << "\n" << endl
		<< "Почасовая тарифная ставка \t \t \t " << l_c.hourly_wage_rate << "\t " << l_c.hourly_wage_rate << "\t " << l_c.hourly_wage_rate << "\t " << l_c.hourly_wage_rate << "\t\n" << endl
		<< "Прямые затраты труда \t \t \t \t " << l_c.labor_cost1 << "\t " << l_c.labor_cost2 << "\t " << l_c.labor_cost3 << "\t " << l_c.labor_cost4 << "\t " << l_c.labor_cost_summ << "\n" << endl;
}

void print_overhead_cost(labor_cost const &l_c, overhead_cost const &o_c)
{
	if (o_c.is_empty)
	{
		cout << "Чтобы вывести модель бюджета продаж вначале"
			" составте модель бюджета продаж" << endl;
		return;
	}

	cout << "Период (квартал) \t \t \t \t 1 \t 2 \t 3 \t 4 \t Сумма \n\n"
		<< "Запланированные прямые затраты труда в часах \t " << l_c.labor_cost_hours1 << "\t " << l_c.labor_cost_hours2 << "\t " << l_c.labor_cost_hours3 << "\t " << l_c.labor_cost_hours4 << "\t\n" << endl
		<< "Ставка переменных накладных расходов \t \t " << o_c.over_rate << "\t " << o_c.over_rate << "\t " << o_c.over_rate << "\t " << o_c.over_rate << "\t\n" << endl
		<< "Переменные накладные \t \t \t \t " << o_c.over_variable1 << "\t " << o_c.over_variable2 << "\t " << o_c.over_variable3 << "\t " << o_c.over_variable4 << "\t " << o_c.over_variable_sum << "\n" << endl
		<< "Постоянные накладные \t \t \t \t " << o_c.over_static << "\t " << o_c.over_static << "\t " << o_c.over_static << "\t " << o_c.over_static << "\t\n" << endl
		<< "Итого накладных расходов \t \t \t " << o_c.over_sum1 << "\t " << o_c.over_sum2 << "\t " << o_c.over_sum3 << "\t " << o_c.over_sum4 << "\t " << o_c.over_sum_all << "\n" << endl;
}

int main()
{
	system("chcp 1251");
	system("cls");

	int choice;
	sell_budget s_b;
	material_costs m_c;
	labor_cost l_c;
	overhead_cost o_c;

	bool loop = true;	//Флаг для выхода из цикла
	bool inner_loop;
	do
	{
		cout << "Выберети действие:" << endl
			<< "1 - Составить модель бюджета продаж" << endl
			<< "2 - Составить модель бюджета прямых материальных затрат" << endl
			<< "3 - Составить модель бюджета затрат на прямой труд" << endl
			<< "4 - Составить модель бюджета  накладных расходов" << endl
			<< "5 - Вывод моделей бюджета" << endl
			<< "6 - Выход из программы" << endl;

		cin >> choice;
		if (cin.fail())
		{
			cin.clear();
			cin.ignore(32767, '\n');
			continue;
		}
		system("cls");
		
		

		switch (choice)
		{
		case 1://Бюджет продаж

			sell_budget_input(s_b);

			s_b.quart1_sell = s_b.plan1 * s_b.cost1;//Вычисляем 
			s_b.quart2_sell = s_b.plan2 * s_b.cost2;//бюджет
			s_b.quart3_sell = s_b.plan3 * s_b.cost3;//продаж
			s_b.quart4_sell = s_b.plan4 * s_b.cost4;
			s_b.summ_sell = s_b.quart1_sell + s_b.quart2_sell + s_b.quart3_sell + s_b.quart4_sell;
			s_b.is_empty = false;
			break;

		case 2://Бюджет материальных затрат
			if (s_b.is_empty)
			{
				cout << "Чтобы составить модель бюджета материальных затрат вначале "
					"составте модель бюджета продаж" << endl;
				break;
			}
			material_costs_input(m_c);

			m_c.req_res1 = m_c.res * s_b.quart1_sell;
			m_c.req_res2 = m_c.res * s_b.quart2_sell;
			m_c.req_res3 = m_c.res * s_b.quart3_sell;
			m_c.req_res4 = m_c.res * s_b.quart4_sell;
			m_c.sum_of_res = m_c.req_res1 + m_c.req_res2 + m_c.req_res3 + m_c.req_res4;

			m_c.cost_sum1 = m_c.req_res1 * m_c.cost;
			m_c.cost_sum2 = m_c.req_res2 * m_c.cost;
			m_c.cost_sum3 = m_c.req_res3 * m_c.cost;
			m_c.cost_sum4 = m_c.req_res4 * m_c.cost;
			m_c.sum_of_cost = m_c.cost_sum1 + m_c.cost_sum2 + m_c.cost_sum3 + m_c.cost_sum4;

			m_c.is_empty = false;
			break;

		case 3://Бюджет затрат на прямой труд

			if (s_b.is_empty)
			{
				cout << "Чтобы составить модель бюджета затрат на прямой труд вначале "
					"составте модель бюджета материальных затрат" << endl;
				break;
			}

			labor_cost_input(l_c);

			l_c.labor_cost_hours1 = s_b.plan1 * l_c.cost_hours;
			l_c.labor_cost_hours2 = s_b.plan2 * l_c.cost_hours;
			l_c.labor_cost_hours3 = s_b.plan3 * l_c.cost_hours;
			l_c.labor_cost_hours4 = s_b.plan4 * l_c.cost_hours;
			l_c.sum_cost_hours = l_c.labor_cost_hours1 + l_c.labor_cost_hours2 + l_c.labor_cost_hours3 + l_c.labor_cost_hours4;

			l_c.labor_cost1 = l_c.labor_cost_hours1 * l_c.hourly_wage_rate;
			l_c.labor_cost2 = l_c.labor_cost_hours2 * l_c.hourly_wage_rate;
			l_c.labor_cost3 = l_c.labor_cost_hours3 * l_c.hourly_wage_rate;
			l_c.labor_cost4 = l_c.labor_cost_hours4 * l_c.hourly_wage_rate;
			l_c.labor_cost_summ = l_c.labor_cost1 + l_c.labor_cost2 + l_c.labor_cost3 + l_c.labor_cost4;

			l_c.is_empty = false;
			break;
Psyho_link вне форума Ответить с цитированием
Старый 20.06.2021, 23:49   #3
Psyho_link
Пользователь
 
Регистрация: 04.11.2020
Сообщений: 14
По умолчанию

Код:
case 4://Бюджет накладных расходов

			if (l_c.is_empty)
			{
				cout << "Чтобы составить модель бюджета затрат на прямой труд вначале "
					"составте модель бюджета материальных затрат" << endl;
				break;
			}
			overhead_cost_input(o_c);

			o_c.over_variable1 = l_c.labor_cost1 * o_c.over_rate;
			o_c.over_variable2 = l_c.labor_cost2 * o_c.over_rate;
			o_c.over_variable3 = l_c.labor_cost3 * o_c.over_rate;
			o_c.over_variable4 = l_c.labor_cost4 * o_c.over_rate;
			o_c.over_variable_sum = o_c.over_variable1 + o_c.over_variable2 + o_c.over_variable3 + o_c.over_variable4;

			o_c.over_sum1 = o_c.over_variable1 + o_c.over_static;
			o_c.over_sum2 = o_c.over_variable2 + o_c.over_static;
			o_c.over_sum3 = o_c.over_variable3 + o_c.over_static;
			o_c.over_sum4 = o_c.over_variable4 + o_c.over_static;
			o_c.over_sum_all = o_c.over_sum1 + o_c.over_sum2 + o_c.over_sum3 + o_c.over_sum4;

			o_c.is_empty = false;
			break;

		case 5:
			int inner_choice;
			inner_loop = true;
			
			do
			{
				cout << "Выберети действие:" << endl
					<< "1 - Вывести модель бюджета продаж" << endl
					<< "2 - Вывести модель бюджета прямых материальных затрат" << endl
					<< "3 - Вывести модель бюджета затрат на прямой труд" << endl
					<< "4 - Вывести модель бюджета  накладных расходов" << endl
					<< "5 - Выход из меню" << endl;

				cin >> inner_choice;
				if (cin.fail())
				{
					cin.clear();
					cin.ignore(32767, '\n');
					continue;
				}
				system("cls");

				switch (inner_choice)
				{

				case 1:
					print_sell_budget(s_b);
					break;
				
				case 2:
					print_material_costs(s_b, m_c);
					break;
				
				case 3:
					print_labor_cost(s_b, l_c);
					break;
				
				case 4:
					print_overhead_cost(l_c, o_c);
					break;
				
				case 5:
					inner_loop = false;
					break;
				
				default:
					cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
					break;
				}
				

			} while (inner_loop);
			break;

		case 6:
			loop = false;
			break;

		default:
			cout << "Вы ввели неверное значение. Попробуйте снова" << endl;
			break;

		}

	} while (loop);
	system("pause");
	return 0;
}
Psyho_link вне форума Ответить с цитированием
Старый 21.06.2021, 10:02   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,716
По умолчанию

https://programmersforum.ru/forumdisplay.php?f=29
Вот здесь сидят ребята, которых хлебом не корми, а дай кому-нибудь наваять схему. По ГОСТу.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить блоксхему, препод не принимает вообще Spanchik Помощь студентам 1 23.12.2014 12:48
никак не могу составить программы на паскале... кто нибудь помогииите составить программу program_1 Паскаль, Turbo Pascal, PascalABC.NET 1 04.12.2012 19:52
Составить Составить ярусно-параллельную форму программы XOKS Помощь студентам 0 09.11.2010 21:00
Помогите пожалуйста решить две задачи по паскалю и составить и составить блок схему! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 2 20.01.2009 09:37