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

Определить количество работников, у которых стаж работы больше, чем ввел пользователь. - C++

Восстановить пароль Регистрация
 
donvito111
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 48
09.03.2012, 20:38     Определить количество работников, у которых стаж работы больше, чем ввел пользователь. #1
Создать программу которая обрабатывает инфомацию о работниках:
Имя,фамилия
должность
дата рождения
стаж
возраст

Выполнить надо 3 пункта:
a:Определить количество работников, у которых стаж работы больше, чем ввел пользователь.
b:Печать данных о сотрудниках, упорядоченные по должности
c:Найти работников у которых возраст больше чем ввел пользователь
Написать надо на С. Я начал делать у меня получиль чтоб записывались данные в файл а вот те три последних пункта немогу зделать

помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 20:38     Определить количество работников, у которых стаж работы больше, чем ввел пользователь.
Посмотрите здесь:

Определить количество строк, среднее арифметическое элементов которых больше заданной величины C++
C++ Определить количество 8-значных чисел,у которых сумма цифр в цифровой записи числа больше,чем N.
Для заданного двумерного числового массива подсчитать количество таких строк, в которых положительных элементов больше, чем отрицатель-ных. C++
Вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры C++
C++ Массивы структур. Найти работников, чей стаж работы в организации превышает заданное значение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NumBot
13 / 13 / 0
Регистрация: 16.02.2012
Сообщений: 59
09.03.2012, 21:48     Определить количество работников, у которых стаж работы больше, чем ввел пользователь. #2
Цитата Сообщение от donvito111 Посмотреть сообщение
b:Печать данных о сотрудниках, упорядоченные по должности
Это значит пользователь вводит название должности, а программа печатает всех таких сотрудников?
Или программа должна отсортировать массив по категории должность?
donvito111
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 48
10.03.2012, 00:55  [ТС]     Определить количество работников, у которых стаж работы больше, чем ввел пользователь. #3
Цитата Сообщение от NumBot Посмотреть сообщение
Это значит пользователь вводит название должности, а программа печатает всех таких сотрудников?
Или программа должна отсортировать массив по категории должность?
да программа должна сама отсортировать массив по категории должность

Добавлено через 3 часа 2 минуты
помогите добрые люди буду очень благодарен
NumBot
13 / 13 / 0
Регистрация: 16.02.2012
Сообщений: 59
10.03.2012, 04:10     Определить количество работников, у которых стаж работы больше, чем ввел пользователь. #4
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
class TWorker
{
public:
    TWorker(){name = NULL; soname = NULL; position = NULL;}
    ~TWorker(); 
    bool insert(const char* n, const char* s, const char* pos, const int &b, const int &l, const int &y);
    char *name, *soname;
    char *position;
    int born, length,years;
    TWorker& operator = (const TWorker &t);
};
 
TWorker::~TWorker()
{
    if( name ) delete(name);
    if( soname ) delete(soname);
    if( position ) delete(position);
}
 
bool TWorker::insert(const char *n, const char *s, const char *pos, const int &b, const int &l, const int &y)
{
    if( !n || !s || !pos )
    {
        return false;
    }
        delete(name);
    delete(soname);
    delete(position);
    name = (char*) new char[strlen(n)+1];
    soname = (char*) new char[strlen(s)+1];
    position = (char*) new char[strlen(pos)+1];
    
    strcpy(name, n);
    strcpy(soname, s);
    strcpy(position, pos);
    born = b;
    length = l;
    years = y;
 
    return true;
}
 
TWorker& TWorker::operator = (const TWorker &t)
{
    delete(name);
    delete(soname);
    delete(position);
    name = new char[strlen(t.name)+1];
    soname = new char[strlen(t.soname)+1];  
    position = new char[strlen(t.position)+1]; 
    strcpy(name, t.name);
    strcpy(soname, t.soname);
    strcpy(position, t.position);
    born = t.born;
    length = t.length;
    years = t.years;
    return *this;
}
 
TWorker workers[200];
int count = 0;
 
void read()
{
    char n[200],s[200],p[200];
    int b,l,y;
    while( count < 200)
    {
        printf("name:");
        scanf("%s", n);
        if( stricmp(n,"stop") == 0 )
            break;      
        printf("soname:");
        scanf("%s", s);
        printf("position:");
        scanf("%s", p);
        printf("born:");
        scanf("%d", &b);
        printf("length of:");
        scanf("%d", &l);
        printf("age:");
        scanf("%d", &y);
        if( workers[count].insert(n,s,p,b,l,y) ) count++;
    }
}
 
int printAge()
{
    int a = 0, num = 0;
    printf("limit age:");
    scanf("%d",&a);
    for( int i = 0; i< count; i++ )
    {
        if( workers[i].years >= a ) 
        {
            num++;
            printf("%s \n", workers[i].name, workers[i].soname);
        }
    }
    return num;
}
int countLength()
{
    int a = 0, num = 0;
    printf("limit length:");
    scanf("%d",&a);
    for( int i = 0; i< count; i++ )
    {
        if( workers[i].length >= a ) 
        {
            num++;          
        }
    }
    return num;
}
 
void printSort()
{
    TWorker temp;
    for( int i=0; i< count; i++ )
    {
        for(int j=0; j< count; j++ )
        {
            if( stricmp(workers[i].position, workers[j].position) > 0 )
            {   
                temp = workers[j];
                workers[j] = workers[i];
                workers[i] = temp;
            }
        }
    }
 
    for( int i=0; i< count; i++ )
    {
        printf("----------------------------\n");
        printf("%s %s\n%s\nBorn: %d, Age: %d, length of: %d\n", workers[i].name,
            workers[i].soname,workers[i].position,
            workers[i].born,workers[i].years,workers[i].length);
        printf("----------------------------\n");
    }
    
}
Yandex
Объявления
10.03.2012, 04:10     Определить количество работников, у которых стаж работы больше, чем ввел пользователь.
Ответ Создать тему
Опции темы

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