С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 2 / 1
Регистрация: 16.04.2021
Сообщений: 191

Распечатать имена сотрудников, возраст который превышает 33 года, код тоже скидываю

08.06.2021, 22:09. Показов 2142. Ответов 6

Студворк — интернет-сервис помощи студентам
У меня мысль пришла только через файл чтобы каждый раз нужно записывать человека которому более 33 лет но как сделать чтобы оно само считало с структур я не знаю
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
#include <iostream>
#include <clocale>
#include <cstring>
using namespace std;
struct PC 
{
    char Surname [15] ;
    char Name [15] ;
    char Position[20] ;
    char Years [4];
    
}; 
int main()  
{
    setlocale(LC_ALL,"Rus");
    const int N=5;
    PC comp[N];
    int c;
    int i=0;
    do         
    {
        cout<<"Введите фамилию сотрудника:";
        cin >>  comp[i].Surname;
 
        cout<<"Введите имя сотрудника:";
        cin >>  comp[i].Name;
 
        cout<<"Введите должность сотрудника:";
        cin >> comp[i].Position;
 
        cout<<"Введите возраст сотрудника:";
        cin >> comp[i].Years;
        
        cout<<"Далее(да- 1, нет- 0)"<<endl;
        cin >>c;
        i++; 
    }
    while(c!=0);            
    int n=i;
    for(i=0; i<n; i++)
    {
        cout<<"\n Фамилия сотрудника:"<<comp [i].Surname<<endl;
        cout<<"\n Имя сотрудника:"<<comp [i].Name<<endl;
        cout<<"\n должность сотрудника:"<<comp [i].Position<<endl;
        cout<<"\n Возраст сотрудника:"<<comp [i].Years<<endl;
    } ;
    //Поиск модели
    char key[20];
    cout<<"Введите возраст сотрудника:";
    cin>>key;
    for(i=0; i<n; i++)  
        if (strcmp(key,comp[i].Years )==0)
        {
 
        cout<<"\n Возраст сотрудника:\t"<<comp [i].Years<<endl;
 
        };
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2021, 22:09
Ответы с готовыми решениями:

Вывести на консоль имена сотрудников, возраст которых превышает заданный (поиск в массиве структур)
Ввести в компьютер информацию о сотрудниках отдела: фамилия, имя, возраст. Напечатать имена сотрудников, возраст которых превышает 28...

Структура "Сотрудники", напечатать имена сотрудников, возраст которых превышает 28 лет
Ввести в компьютер информацию о сотрудниках отдела: фамилия, имя, возраст. Напечатать имена сотрудников, возраст которых превышает 28...

Структуры: напечатать имена сотрудников, возраст которых больше 28 лет
Ввести в компьютер информацию про сотрудника: имя,фамилия,возраст. Напечатать имена сотрудников возраст которых больше 28 лет Прошу...

6
08.06.2021, 22:13

Не по теме:

Serhey_d__20, напишите оригинал условия задачи

0
3 / 2 / 1
Регистрация: 16.04.2021
Сообщений: 191
08.06.2021, 22:18  [ТС]
Цитата Сообщение от Yetty Посмотреть сообщение
Не по теме:
Serhey_d__20, напишите оригинал условия задачи
Это и есть оригинал

Добавлено через 3 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
Не по теме:
Serhey_d__20, напишите оригинал условия задачи
Ввести в ЭВМ информацию о сотрудниках отдела: фамилия, имя, должность, возраст. Распечатать имена сотрудников, возраст которых превосходит 33 года
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
08.06.2021, 22:21
Цитата Сообщение от Serhey_d__20 Посмотреть сообщение
Это и есть оригинал
вот это это ?
Цитата Сообщение от Serhey_d__20 Посмотреть сообщение
Распечатать имена сотрудников, возраст который превышает 33 года
почему в таком случае Вы решили использовать структуру с такими полями?
Цитата Сообщение от Serhey_d__20 Посмотреть сообщение
struct PC
{
    char Surname [15] ;
    char Name [15] ;
    char Position[20] ;
    char Years [4];
};
кстати крайне не рекомендую использовать строки С-стиля при решении задач на языке С++
0
3 / 2 / 1
Регистрация: 16.04.2021
Сообщений: 191
08.06.2021, 22:23  [ТС]
Цитата Сообщение от Yetty Посмотреть сообщение
с такими полями?
А что не так с полями?
Цитата Сообщение от Yetty Посмотреть сообщение
кстати крайне не советую использовать строки С-стиля при решении задач на языке С++
Я так привык и мне так удобнее
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
08.06.2021, 23:18
Лучший ответ Сообщение было отмечено Serhey_d__20 как решение

Решение

Цитата Сообщение от Serhey_d__20 Посмотреть сообщение
Я так привык и мне так удобнее
меняйте свои привычки, если пишите на С++. например сортировать точно не удобнее или должность превысит 20 символов, например начальник транспортного цеха
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
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
 
struct Employee
{
    string surname;
    string name;    
    string position;
    int age;
};
 
void Set (Employee *data, int n)
{    
    for (int i = 0; i < n; i++)
    {       
        cout << "Employee " << i+1 << ":\n";        
        cout << "surname: "; cin >> data[i].surname;
        cout << "name: "; cin >> data[i].name;
        cin.ignore();
        cout << "position: "; getline(cin, data[i].position);
        cout << "age: "; cin >> data[i].age;
    }
}
 
void Print (Employee *data, int n)
{   
    for (int i = 0; i < n; i++)
        cout << setw(25) << left << data[i].surname << setw(20) << left << data[i].name
        << setw(30) << left << data[i].position << " " << data[i].age << "\n";  
}
 
void PrintNameAgeMore33 (Employee *data, int n)
{     
    int k=0;    
    for (int i = 0; i < n; i++)    
        if(data[i].age>33) {k=1;cout << data[i].name << "\n";} 
    if(k==0) cout << "not found\n";    
}
 
int main()
{
    int n;    
    cout << "n="; cin >> n;    
    
    Employee *data = new Employee[n];       
    
    Set(data,n);    
    cout << "FULL LIST:\n";
    Print(data,n);    
    cout << "NAME EMPLOYEES WITH AGE MORE THAN 33:\n";
    PrintNameAgeMore33(data,n);
    delete[]data;
system("pause");
return 0;
}
0
3 / 2 / 1
Регистрация: 16.04.2021
Сообщений: 191
09.06.2021, 08:51  [ТС]
Цитата Сообщение от Yetty Посмотреть сообщение
если пишите на С++. например сортировать точно не удобнее или должность превысит 20 символов, например начальник транспортного цеха
Ну тут логична сказана

Добавлено через 10 минут
Цитата Сообщение от Yetty Посмотреть сообщение
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
struct Employee
{
    string surname;
    string name;    
    string position;
    int age;
};
void Set (Employee *data, int n)
{    
    for (int i = 0; i < n; i++)
    {      
        cout << "Employee " << i+1 << ":\n";        
        cout << "surname: "; cin >> data[i].surname;
        cout << "name: "; cin >> data[i].name;
        cin.ignore();
        cout << "position: "; getline(cin, data[i].position);
        cout << "age: "; cin >> data[i].age;
    }
}
void Print (Employee *data, int n)
{  
    for (int i = 0; i < n; i++)
        cout << setw(25) << left << data[i].surname << setw(20) << left << data[i].name
        << setw(30) << left << data[i].position << " " << data[i].age << "\n";  
}
void PrintNameAgeMore33 (Employee *data, int n)
{    
    int k=0;    
    for (int i = 0; i < n; i++)    
        if(data[i].age>33) {k=1;cout << data[i].name << "\n";}
    if(k==0) cout << "not found\n";    
}
int main()
{
    int n;    
    cout << "n="; cin >> n;    
Employee *data = new Employee[n];      
Set(data,n);    
    cout << "FULL LIST:\n";
    Print(data,n);    
    cout << "NAME EMPLOYEES WITH AGE MORE THAN 33:\n";
    PrintNameAgeMore33(data,n);
    delete[]data;
system("pause");
return 0;
}
Спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2021, 08:51
Помогаю со студенческими работами здесь

Работа с файлами: найти сотрудников, чей возраст старше 45 или стаж превышает 20 лет
работа с файлами поместить в файл n записей, содержащих сведения о сотрудниках: ФИО, год рождения, стаж работы. Найти сотрудников, чей...

Вывести: список сотрудников, возраст которых не менее K лет и не превышает L лет
20.Дан список N сотрудников с указанием фамилии, точной даты рождения, стажа работы и заработной платы. Вывести: список сотрудников,...

Используя структуру с полями пол, ФИО, возраст, распечатать количество девушек по имени «Елена» и имена тех, кому за 19 лет
Используя структуру с полями пол, ФИО, возраст, распечатать количество девушек по имени «Елена» и имена тех, кому за 19 лет

Вывести сведения о сотрудниках, возраст которых не превышает средний возраст
Даны сведения о сотрудниках фирмы: ФИО сотрудника, год рождения, адрес, номер телефона.Вывести сведения о сотрудниках, возраст которых не...

Определить средний возраст и вывести порядковые номера членов бригады, возраст которых превышает средний
Имеется список 12 членов бригады с указанием их возраста. Определить средний возраст и вывести порядковые номера членов бригады, возраст...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru