уже часа 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;
}