3 / 2 / 1
Регистрация: 16.04.2021
Сообщений: 190
1

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

08.06.2021, 22:09. Показов 1387. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2021, 22:09
Ответы с готовыми решениями:

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

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

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

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

6
Yetty
08.06.2021, 22:13
  #2

Не по теме:

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

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

Добавлено через 3 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
Не по теме:
Serhey_d__20, напишите оригинал условия задачи
Ввести в ЭВМ информацию о сотрудниках отдела: фамилия, имя, должность, возраст. Распечатать имена сотрудников, возраст которых превосходит 33 года
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
08.06.2021, 22:21 4
Цитата Сообщение от 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
Сообщений: 190
08.06.2021, 22:23  [ТС] 5
Цитата Сообщение от Yetty Посмотреть сообщение
с такими полями?
А что не так с полями?
Цитата Сообщение от Yetty Посмотреть сообщение
кстати крайне не советую использовать строки С-стиля при решении задач на языке С++
Я так привык и мне так удобнее
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
08.06.2021, 23:18 6
Лучший ответ Сообщение было отмечено 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
Сообщений: 190
09.06.2021, 08:51  [ТС] 7
Цитата Сообщение от 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2021, 08:51
Помогаю со студенческими работами здесь

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

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

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

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

Определить на сколько лет возраст самого старого человека превышает возраст самого младшего
В массиве хранится информация о годе рождения каждого из 30 человек, определить на сколько лет...

Определить, на сколько лет возраст самого старого человека превышает возраст самого молодого
Решите задачу: В массиве хранится информация о годе рождения каждого из 30 человек. Определить,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru