Программа должна рассчитывать размер премии сотрудникам - C (СИ)
Формулировка задачи:
Подскажите как это до ума довести то чет не так...
Программа должна рассчитывать размер премии сотрудникам.
Входные данные: вводится номер разряда сотрудника, стаж работы, должность. Если разряд больше третьего, премия составляет 50 рублей, если стаж работы 10 лет, к премии добавляется 10 рублей, если 20 лет то 20 рублей и т.д., если начальник, премия вне зависимости от стажа работы и разряда - 100 рублей.
#include <stdio.h>
main()
{
int d, r, s;
/* d код должности
r разряд
s стаж
*/
printf(" Введите код должнсти :");
scanf("%d", &d);
printf(" Введите разряд : ");
scanf("%d", &r);
printf(" Введите стаж : ");
scanf("%d", &s);
int p = 0;
/*премия*/
if ( d == 1 )
{
/*начальник*/
p = 100;
}
else
{
if(r > 3)
{
p = 50;
}
p = p + int(s/10)*10;
}
printf(" Премия %d \n", p);
}Решение задачи: «Программа должна рассчитывать размер премии сотрудникам»
textual
Листинг программы
#include <stdio.h>
int main()
{
int d, r, s;
int p = 0;
printf(" Введите код должнсти :");
scanf("%d", &d);
printf(" Введите разряд : ");
scanf("%d", &r);
printf(" Введите стаж : ");
scanf("%d", &s);
if(d == 1)
p=100;
else
{
if(r>3)
p=50;
if(s>=10 && s<20)
p=p+10;
else if(s>=20 && s<30)
p=p+20;
else if(s>=30 && s<40)
p=p+30;
else if(s>=40 && s<50)
p=p+40;
else if(s>=50 && s<60)
p=p+50;
else if(s>=60 && s<70)
p=p+60;
}
printf(" Премия %d \n", p);
return 0;
}
Объяснение кода листинга программы
- Переменные
d,r,sиспользуются для ввода данных пользователем. - Переменная
pинициализируется значением 0 и используется для хранения размера премии. - Пользователю предлагается ввести код должности, разряд и стаж работы.
- Используется условная конструкция
if-elseдля определения размера премии в зависимости от введенных данных. - Если код должности равен 1, то размер премии устанавливается равным 100.
- В остальных случаях проверяется разряд, если он больше 3, то размер премии устанавливается равным 50.
- Далее проверяется стаж работы, если он находится в диапазоне от 10 до 20 лет, то к премии добавляется 10.
- Если стаж находится в диапазоне от 20 до 30 лет, то к премии добавляется 20.
- Если стаж находится в диапазоне от 30 до 40 лет, то к премии добавляется 30.
- Если стаж находится в диапазоне от 40 до 50 лет, то к премии добавляется 40.
- Если стаж находится в диапазоне от 50 до 60 лет, то к премии добавляется 50.
- Если стаж находится в диапазоне от 60 до 70 лет, то к премии добавляется 60.
- Наконец, выводится значение переменной
p, которое представляет собой размер премии. - Программа возвращает 0, что означает успешное выполнение.