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

Cоздать массив структур работников, использовать функции ввода и обеспечить вывод информации о работниках

16.09.2019, 20:51. Показов 1045. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Необходимо создать массив структур работников, использовать разные функцие ввода и обеспечить вывод информации о работниках на экран. С разными функциями ввода разобралась, только неясно, как потом собрать эту всю информацию и вывести её на экран. То есть пользователь вводит информацию о работнике, в зависимсоти от этого вызывает нужная функция , а затем все должно выводиться на экран
Буду благодарна подсказки или решение!
C++ (Qt)
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
#include <iostream>
using namespace std;
 
 typedef struct Employ1{  //создаем нашу структуру с работниками
    char* fio;
    int age;
    float at;
}Employ;
 
 
    int main(){     //тут еще нужно каждому элементу массива присвоить значение?
    Employ* arr[15];
    
    Employ* employ = new Employ();
    int n;
    cout<< "Enter count of needed personal"; 
    cin>>n;
    add(fio = "Петров", age = 1, at = 4);   // вызываем эти функции ввода
    add(age, at=4.3);
    add(fio , at = 4);
    add(at);
    return 0;
}
Employ* add(const char* fio = "Петров", int age = 1, float at = 4)
{
    
    for(int i=0;i<n;i++)
    {
        cout<<"Vvedite fio: ";cin>>employ[i].fio;
        cout<<"VVedite age: ";cin>>employ[i].age;
        cout<<"Vvedite at: ";cin>>employ[i].at;
}
    Employ* employ = new Empoloy();
    employ->age=age;
    employ->at=at;
    employ->fio=fio;
    return employ;
}
Employ* add(int age, float at=4.3)
{
    for(int i=0;i<n;i++)
    {
     //   tr[i].fio = "Cидоров";
        cout<<"VVedite naimenovanie: ";cin>>employ[i].age;
        cout<<"Vvedite ed. izmereniya: ";cin>>employ[i].at;
    }
    Employ* employ = new Empoloy();
    employ->age=age;
    employ->at=at;
    employ->fio=fio;
    return employ;
}
 
Employ* add(const char* fio ,float at = 4)
{
 
    for(int i=0;i<n;i++)
    {
        employ[i].age= 1;
        cout<<"Vvedite fio: ";cin>>employ[i].fio;
        cout<<"Vvedite at: ";cin>>employ[i].at;
    }
    Employ* employ = new Empoloy();
    employ->age=age;
    employ->at=at;
    employ->fio=fio;
    return employ;
}
Employ* add(float at)
{
    for(int i=0;i<n;i++)
    {
        employ[i].age= 1;
    //  employ[i].fio = "Cидоров";
        cout<<"at: "<<employ[i].at<<" ;";
        cout<<endl;
    }
    Employ* employ = new Empoloy();
    employ->age=age;
    employ->at=at;
    employ->fio=fio;
    return employ;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2019, 20:51
Ответы с готовыми решениями:

Обеспечить ограничение на возможность ввода символьной информации цифрами, пробелом, знаком табуляции, знак
1. Обеспечить ограничение на возможность ввода символьной информации цифрами, пробелом, знаком табуляции, знаками препинания, русским...

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

Записи о работниках, найти фамилии работников чья заработная плата за месяц ниже средней
добрый день, нужна помощь с Записями в С++, нужно сделать такое задание: Найти фамилии работников чья заработная плата за месяц ниже...

4
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
17.09.2019, 05:34
Что-то ваш код сильно перемудрен на мой взгляд. Ошибок в нем также немало, даже беглым взглядом если окинуть.

Вот, держите:

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>
 
using namespace std;
 
typedef struct employee{  //создаем нашу структуру с работниками
    char* fio;
    int age;
    float at;
} empl;
 
empl newEmployee(int n);
void printInfoABoutEmloyees(empl* employees, int n);
 
int main(){
    empl* employees;
    int n;
    char* fio;
    int age;
    float at;
    
    cout << "Введите кол-во сотрудников: "; 
    cin >> n;
    
    employees = (empl*)malloc(sizeof(empl) * n);
    
    for(int i = 0; i < n; i++){
        employees[i] = newEmployee(i + 1);
    }
 
    printInfoABoutEmloyees(employees, n);
    
    return 0;
}
 
empl newEmployee(int n){
    empl newEmpl;
    
    cout << "СОТРУДНИК №" << n << ":" << endl;
    
    cout<<"Введите ФИО: ";
        cin >> newEmpl.fio;
    cout<<"Введите возраст: ";
        cin >> newEmpl.age;
    cout<<"Введите at: ";
        cin >> newEmpl.at;
        
    return newEmpl;
}
 
void printInfoABoutEmloyees(empl* employees, int n){
    cout << endl << "ИНФОРМАЦИЯ О СОТРУДНИКАХ:" << endl;
    
    for(int i = 0; i < n; i++){
        cout << "Сотрудник №" << i + 1 << ":" << endl;
        cout<<"\tФИО: " << employees[i].fio << endl;
        cout<<"\tВозраст: " << employees[i].age << endl;
        cout<<"\tat: " << employees[i].at << endl << endl;
    }
}
Будут вопросы - задавайте.
1
 Аватар для Хуба-Буба
484 / 296 / 53
Регистрация: 13.08.2019
Сообщений: 1,042
17.09.2019, 07: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
using namespace std;
struct emp
{
    string name;
    int age;
};
 
void Enter_emp(int num_emp, emp* new_emp);
void Show_emp(int num_emp, emp* new_emp);
 
int main()
{
    int num_emp = 0;
    cout << "Enter num emp: ";
    cin >> num_emp;
    emp *new_emp = new emp[num_emp];
 
    Enter_emp(num_emp,new_emp);
    Show_emp(num_emp,new_emp);
 
    delete new_emp;
 
    return  0 ;
}
 
void Enter_emp(int num_emp, emp* new_emp)
{
    for(int i = 0; i < num_emp; i++)
    {
        cout << "Enter info about emp." << endl;
        cout << "Name: ";
        cin >> new_emp[i].name;
        cout << "Age: ";
        cin >> new_emp[i].age;
        cout << endl;
    }
}
 
void Show_emp(int num_emp, emp* new_emp)
{
for(int i = 0; i < num_emp; i++)
{
    cout << i+1 << ". " << "Name: " << new_emp[i].name << ", age: " << new_emp[i].age << endl;
}
}
1
1 / 1 / 0
Регистрация: 18.02.2019
Сообщений: 160
17.09.2019, 20:58  [ТС]
Спасибо! А если нам необходимо всё же использовать те 4 функции ввода, то каким образом нам можно перекинуть массив структур в каждую из функций? (задание использовать их)
0
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
18.09.2019, 05:00
либо объявлять массив структур глобально, либо передавать его в функции по указателю, как это сделано у меня в функции printInfoABoutEmloyees() .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2019, 05:00
Помогаю со студенческими работами здесь

Обеспечить вывод информации о дате и времени на хостах во второй столбец компонента DataGridView
Дается список адресов, который содержится в компоненте DataGridView в одном столбце. Обеспечить вывод информации о дате и времени на хостах...

Обеспечить возможность ввода целых чисел в массив, поменять местами столбцы, содержащие наибольший и наименьший элементы
Массив целых чисел размерностью 13х25 расположен в текстовом файле. Обеспечить возможность ввода целых чисел в массив, поменять местами ...

Использовать массив структур
Доброго дня. Как в данном коде можно использовать массивы с помощью структур? Пытался изменить, но тщетно public double f(double x) ...

Занесение информации из файла в массив структур
Я считываю .txt файл, но там есть 4 столбца: фамилия, имя, год, средний бал. Как, не зная количества строк в файле(которое может меняться,...

Список с шаблоном для вывода информации о работниках
// ConsoleApplication176.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru