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

Программа для работы с массивом объектов типа Worker (работник) - C++

Восстановить пароль Регистрация
 
Fadjr
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 102
12.06.2016, 12:30     Программа для работы с массивом объектов типа Worker (работник) #1
Здравствуйте! дали такое интересное задание:
Worker: Фамилия и инициалы, Должность, Год поступления на работу, Зарплата.
Создать массив обьектов.
Вывести:
a) Список работников, стаж работы которых на данном предприятии превышает заданное число лет;
b) список работников, зарплата которых больше заданной;
c) список работников, занимающих заданную должность.

я начал работать над ним но дальше я не понимаю что должен делать...и я приблизительно знаю что там должно быть...ну if a[i].Fam > a[i].God и так далее но он ругается....помогите пожалуйста....вот код

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct Worker
{
    char Fam[14]; 
    char Dol[15]; 
    int God; 
    int Zarp; 
};
 
void show_struct(Worker a[])
{
    for (int i = 0; i < 5; i++)
    {
        cout << "Фамилия и инициалы: ";
        cout << a[i].Fam << endl;
        cout << "Должность: ";
        cout << a[i].Dol << endl;
        cout << "Год поступления на работу: ";
        cout << a[i].God << endl;
        cout << "Зарплата: ";
        cout << a[i].Zarp << endl;
        cout << endl;
    }
}
 
 
int main()
{
    setlocale(LC_ALL, ".1251");
    Worker a[5] = { {"А.С.Пушкин", "Директор", 1992, 50000},
    {"В.А.Пушкин", "Зам-Директора", 1993, 35000},
    {"А.Г.Ахматова", "Секретарь", 1993, 30000},
    {"И.Н.Куприн", "Рабочий", 1994, 10000},
    {"H.C.Рудольф", "Студент", 1998, 20000},
    };
    show_struct(a);
    _getch();
}
заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,702
12.06.2016, 12:40     Программа для работы с массивом объектов типа Worker (работник) #2
В какой строке ошибка здесь?
Fadjr
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 102
12.06.2016, 13:01  [ТС]     Программа для работы с массивом объектов типа Worker (работник) #3
если я в void show_struct(Worker a[]) после цикла for пропишу условие он выдаст ошибку вот что пишет
Error (active) operand types are incompatible ("char *" and "int") я не могу поменять тип данных с char на int или наоборот...это не логично

Добавлено через 16 минут
кажется я нашел решение....но придется переделать программу...спасибо.
RAFA91
Заблокирован
12.06.2016, 15:50     Программа для работы с массивом объектов типа Worker (работник) #4
C++
1
2
3
4
5
6
7
struct Worker
{
const char *Fam; 
const char *Dol; 
int God; 
int Zarp; 
};
Enflamed
 Аватар для Enflamed
2 / 2 / 0
Регистрация: 12.04.2015
Сообщений: 42
Завершенные тесты: 1
06.07.2016, 00:23     Программа для работы с массивом объектов типа Worker (работник) #5
Я так понимаю, что перед тем как выводить в поток данные, они должны быть нужного типа. Нельзя просто взять и вывести int, верно?
RAFA91
Заблокирован
06.07.2016, 11:39     Программа для работы с массивом объектов типа Worker (работник) #6
Цитата Сообщение от Enflamed Посмотреть сообщение
Нельзя просто взять и вывести int
создай обьект и выводи
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2016, 11:57     Программа для работы с массивом объектов типа Worker (работник)
Еще ссылки по теме:

Программа содержащая функции для работы с массивом структур C++
Программа работы с одномерным динамическим массивом C++
Переделать программу работы с массивом для работы с вектором C++

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

Или воспользуйтесь поиском по форуму:
nstwf
86 / 76 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
06.07.2016, 11:57     Программа для работы с массивом объектов типа Worker (работник) #7
Вот вам 3 функции по заданию:
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
void show_God(Worker a[])
{
    cout << "Введите год: ";
    int god; cin >> god;
    for (int i = 0; i < 5; i++)
    {
        if (god < a[i].God)
        {
            cout << "Фамилия и инициалы: ";
            cout << a[i].Fam << endl;
            cout << "Должность: ";
            cout << a[i].Dol << endl;
            cout << "Год поступления на работу: ";
            cout << a[i].God << endl;
            cout << "Зарплата: ";
            cout << a[i].Zarp << endl;
            cout << endl;
        }
    }
}
 
void show_Zarp(Worker a[])
{
    cout << "Введите зарплату: ";
    int zp; cin >> zp;
    for (int i = 0; i < 5; i++)
    {
        if (zp < a[i].God)
        {
            cout << "Фамилия и инициалы: ";
            cout << a[i].Fam << endl;
            cout << "Должность: ";
            cout << a[i].Dol << endl;
            cout << "Год поступления на работу: ";
            cout << a[i].God << endl;
            cout << "Зарплата: ";
            cout << a[i].Zarp << endl;
            cout << endl;
        }
    }
}
 
void show_dol(Worker a[])
{
    cout << "Введите должность: ";
    char dolj[10]; cin >> dolj;
    for (int i = 0; i < 5; i++)
    {
        if (!strcmp(dolj, a[i].Dol))
        {
            cout << "Фамилия и инициалы: ";
            cout << a[i].Fam << endl;
            cout << "Должность: ";
            cout << a[i].Dol << endl;
            cout << "Год поступления на работу: ";
            cout << a[i].God << endl;
            cout << "Зарплата: ";
            cout << a[i].Zarp << endl;
            cout << endl;
        }
    }
}
Yandex
Объявления
06.07.2016, 11:57     Программа для работы с массивом объектов типа Worker (работник)
Ответ Создать тему
Опции темы

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