Форум программистов, компьютерный форум CyberForum.ru

Создать программу учета сотрудников. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
snegok1233
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 13
03.12.2013, 15:25     Создать программу учета сотрудников. #1
Лабораторная работа по теме структуры

Создать программу учета сотрудников.
О сотруднике необходимо хранить следующие данные:

- ФИО
- должность
- дата рождения.

Данные о сотрудниках следует хранить в массиве структур

Программа должна иметь следующее меню:
1. Вывод списка сотрудников
2. Редактирование
Добавление сотрудника
Удаление сотрудника
Изменение должности
3. Запросы
Вывести данные о сотруднике с заданной фамилией
Вывести всех сотрудников, у которых день рождения в заданном месяце
4. Статистика
Общее количество сотрудников
Количество сотрудников в каждой должности
Количество молодых специалистов (до 35 лет)




нужна помощь !!)

 Комментарий модератора 
В следующий раз потрудитесь пожалуйста выложить задание на форум.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 15:25     Создать программу учета сотрудников.
Посмотрите здесь:

C++ Написать программу учета сдачи зачетов при помощи битовых полей (исправить код)
C++ Строки и структуры (Помогите доделать программу учета товаров на складе)
Создать список отделов и вычислить общую сумму заработной платы сотрудников каждого отдела C++
C++ Создать список отделов и вычислить общую сумму заработной платы сотрудников этого отдела
Создать базу из трех сотрудников, где будут храниться их имена C++
C++ Написать программу сравнения строк без учета регистра
C++ Написать программу учета абитуриентов в университете
Работа со списками (создать список сотрудников) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
03.12.2013, 19:46     Создать программу учета сотрудников. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#define _CRT_SECURE_NO_WARNINGS
#include <vector>
#include <string>
#include <iostream>
#include <utility>
#include <ctime>
using namespace std;
 
 
enum month{jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec};
 
 
struct Date
{
    int d;
    month m;
    int y;
};
 
struct Employee
{
    string name;
    string post;
    Date birthday;
 
 
};
 
ostream& operator<<(ostream& os, const Employee& w)
{
    os << w.name << endl << w.post << endl << w.birthday.d << "." << w.birthday.m << "." << w.birthday.y << endl;
    return os;
}
struct Workers_List
{
    vector<Employee> list;
 
    int Search(const string& name)
    {
        for (int i = 0; i < list.size(); i++)
        {
            if (list[i].name == name) return i;
        }
    }
 
    void Insert(Employee e)
    {
        list.push_back(e);
    }
 
    void Delete(const string& name)
    {
        list.erase(list.begin()+Search(name));
    }
 
    void Change_Post(const string& name, const string& post)
    {
        list[Search(name)].post = post;
    }
 
    void Info(const string& name)
    {
        cout << list[Search(name)] << endl;
    }
 
    void Same_Month(month m)
    {
        for (Employee e : list)
        {
            if (e.birthday.m == m) cout << e;
        }
    }
 
    void Number_Of_Empl_In_Each_Post()
    {
        vector<pair<string,int>>posts;
        bool is_find;
        for (Employee e : list)
        {
            is_find = false;
            for (int i = 0; i < posts.size();i++)
            {
                if (e.post == posts[i].first)
                {
                    posts[i].second++;
                    is_find = true;
                    break;
                }
            }
            if (!is_find) posts.push_back(pair<string,int>(e.post,1));
        }
        
        for (pair<string, int> p : posts)
        {
            cout << p.first << ": " << p.second << endl;
        }
    }
 
    int Number_Of_Young()
    {
        int res = 0;
        time_t now = time(NULL);
        struct tm *aTime = localtime(&now);
        int year = aTime->tm_year + 1900; // Year is # years since 1900
        for (Employee e : list)
        {
            if (year - e.birthday.y <= 35) res++;
        }
        return res;
    }
};
 
 
 
int main()
{
    Date d1 = { 23, may, 1960 };
    Date d2 = { 11, apr, 1978 };
    Date d3 = { 2, feb, 1988 };
    Date d4 = { 5, jun, 1979 };
    Date d5 = { 30, jul, 1950 };
    Date d6 = { 6, feb, 1989 };
    Date d7 = { 22, may, 1967 };
    Date d8 = { 4, mar, 1978 };
    Date d9 = { 28, aug, 1977 };
    Date d10 = { 7, sep, 1970 };
    Employee e1 = { "Ivan Ivanov", "desihgn",d1 };
    Employee e2 = { "Ivan Sidorov", "desihgn", d2 };
    Employee e3 = { "John Smith", "developer", d3 };
    Employee e4 = { "Vasya Ivanov", "desihgn", d4 };
    Employee e5 = { "Steaven KIng", "desihgn", d5 };
    Employee e6 = { "Martin", "developer", d6 };
    Employee e7 = { "Arnold", "director", d7 };
    Employee e8 = { "ALex", "manager", d8 };
    Employee e9 = { "John", "desihgn", d9 };
    Employee e10 = { "Sergey", "manager", d10 };
    Workers_List list;
    list.Insert(e1);
    list.Insert(e2);
    list.Insert(e3);
    list.Insert(e4);
    list.Insert(e5);
    list.Insert(e6);
    list.Insert(e7);
    list.Insert(e8);
    list.Insert(e9);
    list.Insert(e10);
    for (Employee e : list.list)
    {
        cout << e;
    }
 
    list.Info("John");
    list.Number_Of_Empl_In_Each_Post();
    cout << list.Number_Of_Young()<<endl;
    list.Same_Month(feb);
    cout << endl << endl;
    list.Change_Post("John", "seller");
    list.Info("John");
 
 
    system("pause");
 
 
 
 
}
Yandex
Объявления
03.12.2013, 19:46     Создать программу учета сотрудников.
Ответ Создать тему
Опции темы

Текущее время: 01:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru