Время обслуживания. Для каждого посетителя парикмахерской (с одним мастером) известны следую¬щие величины - C (СИ)
Формулировка задачи:
Написать программу на языке Си. Время обслуживания. Для каждого посетителя парикмахерской (с одним мастером) известны следующие величины: t1 — момент его прихода и t2 — продолжительность его обслуживания. Сколько клиентов обслужит мастер за смену продолжительностью Т? Сколько рабочего времени он потратит на обслуживание?
Решение задачи: «Время обслуживания. Для каждого посетителя парикмахерской (с одним мастером) известны следую¬щие величины»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
int t1m, tm, t3m, rm, t7, t8, n;
float t, t1, t2, t3, t4, t5, t6, r;
int main()
{
printf("begining time and time of work");
scanf("%i%f%i%f", &t1, &t1m, &t, &tm);
t1=((t1+t1m)/60);
t=((t+tm)/60);
t2=t1+t;
t5=t1;
n=0;
t6=0;
printf("vremia poiavlenia ",n+1," klienta\n");
scanf("%f%i", &t3, &t3m);
t3=((t3+t3m)/60);
printf("service-time of ",n+1," klienta\n");
scanf("%f%i", &r,&rm);
r=((r+rm)/60);
if (t3<t5)
{
t4=t5;
t5=t4+r;
}
else
{
t4=t3;
t5=t4+r;
}
if (t5<t2)
{
n=n+1;
t6=t6+r;
t7=int (t6);
t8=int((t6-t7)*60);
}
if (t8<10)
{
printf("number of client ",n," servise-time ",t7,",:0,",t8,"\n");
}
else
{
printf("numbet of client ",n," servise time ",t7,",:,",t8,"\n");
t7=int (t5);
t8=int ((t5-t7)*60);
}
if (t8<10)
{
printf("tekushee vremia ",t7,":0",t8,"\n");
}
else
{
printf("tekushee vremia ",t7,",:,",t8,"\n");
}
while (t5>=t2);
{
printf("time out");
t7=int(t6+r);
t8=int ((t6+r-t7)*10);
}
if (t8<10)
{
printf("client ",n+1," servise time ",t7,",:0,",t8,"\n");
}
else
{
printf("client ",n+1," servise time ",t7,",:,",t8,"\n");
scanf("%i%f");
}
getch();
}
Объяснение кода листинга программы
Код решает задачу времени обслуживания клиента в парикмахерской. Переменные:
- t1m, tm, t3m, rm, t7, t8, n - целочисленные переменные для хранения времени в минутах и количества клиентов
- t, t1, t2, t3, t4, t5, t6, r - переменные с плавающей точкой для хранения времени в часах Основные действия:
- Считывание времени начала работы и времени обслуживания первого клиента
- Расчет времени, затраченного на обслуживание всех клиентов до текущего
- Сравнение этого времени с общим временем работы парикмахера
- Если время обслуживания текущего клиента меньше, чем оставшееся время работы парикмахера, то увеличивается время обслуживания следующего клиента
- Если время обслуживания текущего клиента больше, чем оставшееся время работы парикмахера, то выводится сообщение о превышении времени обслуживания
- После обслуживания каждого клиента выводится сообщение о времени ожидания следующего клиента
- После окончания работы парикмахера выводится общее время работы и количество обслуженных клиентов В конце программы запрашивается ввод идентификатора следующего клиента.