Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51

Реализоваить систему отдела кадров предприятия

09.02.2013, 23:43. Показов 7632. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Система отдела кадров предприятия содержит следующие сведения о работниках:
-фамилия и инициалы работника;
-название занимаемой должности;
-год поступления на работу.
Написать программу, которая выполняет следующие действия:
-вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
-выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
-если таких работников нет, вывести на дисплей соответствующее сообщение.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2013, 23:43
Ответы с готовыми решениями:

Разработка интерфейса программы автоматизации учета кадров предприятия
Разработка интерфейса программы автоматизации облика кадров предприятия с использованием принципов ООП

Спроектировать базу данных для Отдела кадров
Здравствуйте кто это может сделать в Visual? Личная карточка сотрудника Код сотрудника ___________ Номер паспорта___________ ...

Написать рекомендательную систему отдела кадров
Напишите рекомендательную систему отдела кадров некоторой компании, которая реализует следующую логику: Предлагает пользователю выбрать...

8
55 / 56 / 37
Регистрация: 06.02.2013
Сообщений: 257
Записей в блоге: 1
09.02.2013, 23:48
Цитата Сообщение от Lev93 Посмотреть сообщение
Система отдела кадров предприятия содержит следующие сведения о работниках:
-фамилия и инициалы работника;
-название занимаемой должности;
-год поступления на работу.
Написать программу, которая выполняет следующие действия:
-вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
-выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
-если таких работников нет, вывести на дисплей соответствующее сообщение.
блин, тут писать много....
0
3 / 3 / 1
Регистрация: 29.09.2012
Сообщений: 15
10.02.2013, 00:43
Сейчас поищу, писал на прошлом курсе на контрольную работу.

Добавлено через 13 минут
Такую же обнаружить не удалось, точно помню, что писал, но найти не могу.
Нашел похожую, про студентов, там ФИО, группа, успеваемость. Есть сортировка, ввод с клавиатуры и вывод по успеваемости. Много комментариев, даже с ИЗБЫТКОМ. Преподаватель у нас была странная, у неё паранойя по поводу комментариев была, вот и пришлось их добавить.
В общем, если хочешь могу дать, чуть-чуть подправишь и вуаля!
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
10.02.2013, 00:45
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
#include <iostream>
#include <string>
#include <sstream>
 
class Worker {
 public:
  Worker() : name(), position(), hiredYear() {}
  Worker(const std::string &name, const std::string &position, int hiredYear)
    : name(name), position(position), hiredYear(hiredYear) {}
  const std::string &getName() const { return name; }
  const std::string &getPosition() const { return position; }
  const int getHiredYear() const { return hiredYear; }
 private:
  std::string name;
  std::string position;
  int hiredYear;
};
 
std::ostream &operator<<(std::ostream &stream, const Worker &worker) {
  return stream << "Worker{" <<
    "name='" << worker.getName() << "'," <<
    "position='" << worker.getPosition() << "'," <<
    "hiredYear=" << worker.getHiredYear() << "}";
}
 
bool operator<(const Worker &a, const Worker &b) {
  return a.getName() < b.getName();
}
 
int insertWorker(Worker *workers, int workersSize, const Worker &newWorker) {
  int insertionPoint = 0;
  while (insertionPoint < workersSize && workers[insertionPoint] < newWorker) {
    ++insertionPoint;
  }
  for (int j = workersSize; j > insertionPoint; --j) {
    workers[j] = workers[j - 1];
  }
  workers[insertionPoint] = newWorker;
  return workersSize + 1;
}
 
Worker readWorker(std::istream &in, std::ostream &out) {
  std::string name, position;
  std::string sbuffer;
  int hiredYear;
  out << "New Worker:" << std::endl;
  out << "Name: ";
  std::getline(in, name);
  out << "Position: ";
  std::getline(in, position);
  out << "Hired year: ";
  std::getline(in, sbuffer);
  std::stringstream sstream(sbuffer);
  sstream >> hiredYear;
  return Worker(name, position, hiredYear);
}
 
int main(int argc, char **argv) {
  int maxWorkers = 10;
  int numberOfWorkers = 0;
  Worker *workers = new Worker[maxWorkers];
 
  for (int i = 0; i < maxWorkers; ++i) {
    Worker worker = readWorker(std::cin, std::cout);
    insertWorker(workers, numberOfWorkers++, worker);
  }
 
  for (int i = 0; i < numberOfWorkers; ++i) {
    std::cout << workers[i] << std::endl;
  }
 
  delete [] workers;
  std::cin.get();
  return 0;
}
0
3 / 3 / 1
Регистрация: 29.09.2012
Сообщений: 15
10.02.2013, 00:50
Вот он. Кодировку не помню, но он под Visual Studio написан, так что, если в Visual Studio будешь открывать, то всё норм.
Вложения
Тип файла: txt Исходный код.txt (6.5 Кб, 165 просмотров)
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 02:21
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
#include <iostream>
#include <cstdlib>
#include <string>
 
#define SIZE 10
 
struct Worker {
    std::string name;
    std::string surname;
    int year;
} list[SIZE];
 
void add_worker()
{
    Worker* ptr = list;
 
    for ( ;  ptr->year != 0; ++ptr)
        if (ptr == list + SIZE-1) {
            std::cout << "List is full.\n";
            return;
        }
 
    std::cout << "\nPut new name: ";
    std::cin >> ptr->name;
    std::cout << "Put new surname: ";
    std::cin >> ptr->surname;
    std::cout << "Put, how many years hi worked: ";
    std::cin >> ptr->year;
    std::cout << std::endl;
 
    int comp(const void *, const void *);
    qsort(list, SIZE, sizeof(Worker), comp);
}
 
int comp(const void* i, const void* j)
{
    Worker* left = &(*(Worker*)i);
    Worker* right = &(*(Worker*)j);
    return left->surname > right->surname;
}
 
void show_list()
{
    int comp;
    Worker* ptr = list;
 
    std::cout << "Put comp year: ";
    std::cin >> comp;
 
    for ( ; list + SIZE != ptr; ++ptr) {
        if (ptr->year > comp) {
            std::cout << "\nName: " << ptr->name << "\nSurname: " 
                << ptr->surname << "Woked " << ptr->year << " years\n";
        }
    }
}
 
int main()
{
    char answer[10];
    int dig;
 
    for ( ;; ) {
        std::cout << "\n1) Add to list.\n";
        std::cout << "2) Show workers.\n";
        std::cout << "3) Exit program.\n";
        std::cin >> answer;
        dig = atoi(answer);
        switch (dig) {
            case 1:
                add_worker();
                break;
            case 2:
                show_list();
                break;
            case 3:
                exit(0);
                break;
            default:
                std::cout << "Wrong answer, try again.\n";
                break;
        }
    }
 
    return 0;
}
1
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
12.02.2013, 16:51  [ТС]
а можно как нибудь попроще? а то некоторые выражения мне непонятны, такие как
for ( ; list + SIZE != ptr; ++ptr)

Добавлено через 2 минуты
обычно пишут: for (int i=0; i<size; i++) (я начинающий программист)
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
12.02.2013, 16:53
Цитата Сообщение от Lev93 Посмотреть сообщение
обычно пишут: for (int i=0; i<size; i++)
Зачем это писать, если переменная инициализирована заранее? Можно опустить.
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 18:45
Цитата Сообщение от Lev93 Посмотреть сообщение
for ( ; list + SIZE != ptr; ++ptr)
эта стандартная фича при работе с указателями. Условие внутри цикла означает, что ptr (он же указатель на структуру) принадлежит массиву list и не должен превышать размер SIZE. Грубо говоря выражение list + SIZE подобно 0+SIZE. У нас SIZE = 10; поэтому ptr не должне превышать 10. Операнд list, как я уже говорил свидетельствует о том что ptr ссылается на массив list.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2013, 18:45
Помогаю со студенческими работами здесь

БД отдела кадров
Здравствуйте! Помогите пожалуйста с базой данных, есть несколько таблиц Сотрудники, Должность, Отделы, .. надо создать несколько...

Приказы Отдела Кадров
Внедряю модуль который добавляет приказы для ОК в ЗУП 2.5. При заполнении док. -ов на основании столкнулся с проблемой. Документ -...

Учет отдела кадров
Привет задали в универе сделать базу данных учета отдела кадров, а я в этом не особо шарю Помогите придумать 6 таблиц и что туда должно...

БД для отдела кадров на Оракле
можно ли на Оракле создать БД для отдела кадров???и соединить ее с Delphi?

база данных отдела кадров
Здравствуйте. Необходимо создать базу данных отдела кадров ВУЗа. подробности во вложенном файле.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru