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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2018, 21:34   #1
dauntupoy
 
Регистрация: 03.01.2018
Сообщений: 5
По умолчанию Средний стаж

За средний стаж считает стаж последнего работника,что нужно исправить для того чтобы правильно считался средний стаж?
#include<iostream>
using namespace std;
struct labamassiv
{
char surname[40];
char name[40];
char patronymic[40];
char doljnost[40]; //position
char sex[40];
int dd, mm, year;
float experience;
}laba;
int main()
{
setlocale(LC_ALL, "Russian");
int N, cur_dd, cur_mm, cur_year;
float total_experience = 0.0;
float srednii_experience = 0.0;
cout << "Введите кол-во работников: ";
cin >> N;
cout << "Сегодняшняя дата (число, месяц, год): "<<endl;
cin >> cur_dd >> cur_mm >> cur_year;
if (cur_dd > 31 || cur_dd < 1 || cur_mm > 12 || cur_mm < 1)
cout<<"Вы ввели неправильную дату!"<<endl;
else
{
labamassiv*laba = new labamassiv[N];
for (int i = 0; i < N; i++)
{
cout << "Фамилия сотрудника №"<<i+1<<": ";
cin >> laba[i].surname;
cout << "Имя сотрудника №"<<i+1<<": ";
cin >> laba[i].name;
cout << "Отчество сотрудника №"<<i+1<<": ";
cin >> laba[i].patronymic;
cout << "Должность сотрудника №"<<i+1<<": ";
cin >> laba[i].doljnost;
cout << "Введите пол: ";
cin >> laba[i].sex;
cout << "Дата приема на работу (число) сотрудника №"<<i+1<<": ";
cin >> laba[i].dd;
cout << "Дата приема на работу (месяц) сотрудника №"<<i+1<<": ";
cin >> laba[i].mm;
cout << "Дата приема на работу (год) сотрудника №"<<i+1<<": ";
cin >> laba[i].year;
laba[i].experience=((cur_year-laba[i].year)+((12.0-laba[i].mm+cur_mm-1)/12)+(((31.0-laba[i].dd+cur_dd)/31)/12)); //формула для вычисления стажа сотрудника (в годах)
total_experience = total_experience + laba[i].experience;
}
srednii_experience = (total_experience/N);
cout<<"Средний стаж сотрудников: "<<srednii_experience<<endl;
for (int i = 0; i < N; i++) //цикл вывода всех сведений о сотрудниках
{
if (laba[i].experience >= srednii_experience)
{
cout<<laba[i].surname<<" "<<laba[i].name<<" "<<laba[i].patronymic<<" - "<<laba[i].doljnost<<","<<laba[i].sex<<endl;
cout<<"Дата приема на работу: "<<laba[i].dd<<"."<<laba[i].mm<<"."<<laba[i].year<<endl;
}
}
}
system("pause");
}
dauntupoy вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стаж работы Avetis62 Microsoft Office Access 9 06.07.2016 11:27
Сформировать текстовый файл, содержащий сведения о сотрудниках предприятия (фамилия, имя, отчество, общий стаж...) (Delphi) Kat9 Помощь студентам 2 03.03.2014 14:51
Создать типизированный файл, включающий в себя - имя, фамилию,пол,год рождения, должность, стаж, доход, премия, налог. nucweapon Паскаль, Turbo Pascal, PascalABC.NET 2 28.02.2012 17:05
каков ваш стаж по основному направлению? grenles Свободное общение 20 19.02.2011 17:01
Средний балл KORT Общие вопросы C/C++ 3 27.02.2008 17:04