#include <iostream>
using namespace std;
int main()
{
int mansCount;
int barbersCount;
int mansPerBarber = 8; // один человек в час, смена 8 часов
int mansPerBarberPerMonth = mansPerBarber * 30;
/*
mansCount; - КолМужчин
barbersCount; - КолБарберов
mansPerBarber - КолПодстриженныхЗаСмену
mansPerBarberPerMonth - КолПодстриженныхЗаМесяц
NecessaryNumberBarbers - НеобходимоеКолБарберов
BarbersRequired - ТребуемыеБарберы
*/
cout << "\n************ Барбершоп-калькулятор ************\n\n";
back:
cout << "Введите число мужчин в городе: ";
cin >> mansCount;
if (mansCount <= 0) {
cout << "\nВы не можете ввести нулевое или отрицательное значение...\n";
cout << "Попробуйте ещё раз.\n\n";
goto back;
}
back1:
cout << "Сколько уже барберов удалось нанять? ";
cin >> barbersCount;
if (barbersCount <= 0) {
cout << "\nВы не можете ввести нулевое или отрицательное значение...\n";
cout << "Попробуйте ещё раз.\n\n";
goto back1;
}
cout << "\nОдин барбер стрижёт " << mansPerBarberPerMonth << " клиентов в месяц.\n";
// Сколько нужно барберов, чтобы постричь mansCount человек?
int NecessaryNumberBarbers = mansCount / mansPerBarberPerMonth;
if (NecessaryNumberBarbers * mansPerBarberPerMonth % mansCount) {
NecessaryNumberBarbers += 1;
}
cout << "Необходимое число барберов: " << NecessaryNumberBarbers << "\n\n";
const string b = "барбер";
const string end1 = "a";
const string end2 = "ов";
string endin;
int n = NecessaryNumberBarbers;
if (n == 1 || (n > 20 && n % 10 == 1)) endin = b;
else if (n > 1 && n < 5 || n > 20 && n % 10 > 1 && n % 10 < 5) endin = b + end1;
else endin = b + end2;
// Сколько человек успеют посчтричь NecessaryNumberBarbers за месяц?
cout << NecessaryNumberBarbers << " " << endin << " могут постричь "
<< NecessaryNumberBarbers * mansPerBarberPerMonth << " мужчин за месяц.\n";
string ending;
int nb = NecessaryNumberBarbers - barbersCount;
if (nb == 1 || (nb > 20 && nb % 10 == 1)) ending = b;
else if (nb > 1 && nb < 5 || nb > 20 && nb % 10 > 1 && nb % 10 < 5) ending = b + end1;
else ending = b + end2;
int BarbersRequired = NecessaryNumberBarbers - barbersCount;
if (NecessaryNumberBarbers > barbersCount) {
cout << "Требуется ещё " << BarbersRequired << " " << ending << ".\n";
} else if (NecessaryNumberBarbers == barbersCount) {
cout << "Барберов ровно столько, сколько нужно!!!\n";
} else if (barbersCount % NecessaryNumberBarbers == 0) {
cout << "У вас работает в " << barbersCount / NecessaryNumberBarbers << " раза больше барберов, чем это нужно!!!\n";
} else cout << "Барберов хватает!!!\n";
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter