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

Создать класс - C++

Восстановить пароль Регистрация
 
ani-ni4ka
 Аватар для ani-ni4ka
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 103
20.03.2012, 23:29     Создать класс #1
Доброго времени суток.
Нужна помощь. Завтра контрольная, а я вот как-то не могу написать программу..
Помогите пожалустааа..
\\Создать класс содержащий данные, реализовать методы ввода вывода и выборки по условию. Класс ФИРМА содержит следующие данные: идентификационный номер сотрудника,фамилия, имя, отчество, наименование отдела, должность, категория. Вывести список сотрудников определенной категории, просчитав их заработную плату. Если категория высшая – то умножаем на 1.7 з/п, если первая категория – 1.4, если вторая - 1.2, если нет категории – 0.7.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 23:29     Создать класс
Посмотрите здесь:

Создать класс Point и класс-наследник Line C++
C++ Создать класс
C++ Создать класс Matrix и класс Size
Создать класс! C++
C++ Класс: создать класс "Person"
Как создать класс кот может создать general purpose counting objects C++
Создать класс C++
C++ Создать класс данных Person и класс отображения данных

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
21.03.2012, 02:15     Создать класс #2
когда то решал такую же задачу! но она не правильно выводит. точнее выводит всех сотрудников!

сейчас пересматривать не охота!

а связи с этим
Цитата Сообщение от ani-ni4ka Посмотреть сообщение
Завтра контрольная, а я вот как-то не могу написать программу.
скину то что есть!

если у кого то будет желание может кто то и подправит!

Ну и конечно это далеко не оптимальное решение! делалось когда не все было ясно!

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
#include <iostream>
 
using namespace std;
 
class firm
{
    int id_number;      //идентификационный номер
    char surname[30];   //фамилия
    char name[20];      //имя
    char patronymic[20];//отчество
    char department[20];//наименование отдела
    char post[20];      //должность
    int category;       //котегория
    double salary;      //зарплата
public:
    firm(){}
    ~firm(){}
    void input(firm *fr, int n);
    void output(firm *fr, int n);
};
 
 
void firm::input(firm *fr, int n)
{
    int i = 0;
    while(i < n)
    {
        cout << "\nВведите инормацию о " << i + 1 << " сотруднике\n";
        cout << "\nВведите идентификационный номер сотрудника - ";
        cin >> fr[i].id_number;
        cout << "Введите фамилию сотрудника - ";
        cin >> fr[i].surname;
        cout << "Введите имя сотрудника - ";
        cin >> fr[i].name;
        cout << "Введите отчество сотрудника - ";
        cin >> fr[i].patronymic;
        cout << "Введите наименование отдела - ";
        cin >> fr[i].department;
        cout << "Введите должность сотрудника - ";
        cin >> fr[i].post;
        cout << "Введите категорию сотрудника- ";
        cin >> fr[i].category;
        cout << "Введите первоначальную зарплату сотрудника - ";
        cin >> fr[i].salary;
        i++;
    }
}
void firm::output(firm *fr, int n)
{
    int c;
    cout << "\n\nВведите категорию сотрудника (0 - 3) - ";
    cin >> c;
    for(int i = 0; i < n; i++)
    {
        if(c == 3)
        {
            fr[i].salary *= 1.7;
            cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
            cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
            cout << "Имя сотрудника - " << fr[i].name << "\n";
            cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
            cout << "наименование отдела - " << fr[i].department << "\n";
            cout << "Должность сотрудника - " << fr[i].post << "\n";
            cout << "Категория сотрудника - " << fr[i].category << "\n";
            cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
        }
        else if(c == 2)
        {
            fr[i].salary *= 1.2;
            cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
            cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
            cout << "Имя сотрудника - " << fr[i].name << "\n";
            cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
            cout << "наименование отдела - " << fr[i].department << "\n";
            cout << "Должность сотрудника - " << fr[i].post << "\n";
            cout << "Категория сотрудника - " << fr[i].category << "\n";
            cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
        }
        else if(c == 1)
        {
            fr[i].salary *= 1.4;
            cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
            cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
            cout << "Имя сотрудника - " << fr[i].name << "\n";
            cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
            cout << "наименование отдела - " << fr[i].department << "\n";
            cout << "Должность сотрудника - " << fr[i].post << "\n";
            cout << "Категория сотрудника - " << fr[i].category << "\n";
            cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
        }
        else if(c == 0)
        {
            fr[i].salary *= 0.7;
            cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
            cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
            cout << "Имя сотрудника - " << fr[i].name << "\n";
            cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
            cout << "наименование отдела - " << fr[i].department << "\n";
            cout << "Должность сотрудника - " << fr[i].post << "\n";
            cout << "Категория сотрудника - " << fr[i].category << "\n";
            cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
        }
    }
}
 
int main()
{
    setlocale(0,"");
    int n;
    cout << "Введите количество сотрудников - ";
    cin >> n;
 
    firm *fr = new firm[n];
    
    fr->input(fr, n);
    fr->output(fr, n);
 
    delete [] fr; //очищаем память
    
    system("pause >> null");
    return 0;
}
ani-ni4ka
 Аватар для ani-ni4ka
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 103
21.03.2012, 11:06  [ТС]     Создать класс #3
спасибо огромное)

Добавлено через 40 минут
Разобралась и переделала.
Поменяла ветвление на switch и все работает как надо)
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 
class firm
{
        int id_number;          //идентификационный номер
        char surname[30];       //фамилия
        char name[20];          //имя
        char patronymic[20];//отчество
        char department[20];//наименование отдела
        char post[20];          //должность
        int category;           //котегория
        double salary;          //зарплата
public:
        firm(){}
        ~firm(){}
        void input(firm *fr, int n);
        void output(firm *fr, int n);
};
 
 
void firm::input(firm *fr, int n)
{
        int i = 0;
        while(i < n)
        {
                cout << "\nВведите инормацию о " << i + 1 << " сотруднике\n";
                cout << "\nВведите идентификационный номер сотрудника - ";
                cin >> fr[i].id_number;
                cout << "Введите фамилию сотрудника - ";
                cin >> fr[i].surname;
                cout << "Введите имя сотрудника - ";
                cin >> fr[i].name;
                cout << "Введите отчество сотрудника - ";
                cin >> fr[i].patronymic;
                cout << "Введите наименование отдела - ";
                cin >> fr[i].department;
                cout << "Введите должность сотрудника - ";
                cin >> fr[i].post;
                cout << "Введите категорию сотрудника- ";
                cin >> fr[i].category;
                cout << "Введите первоначальную зарплату сотрудника - ";
                cin >> fr[i].salary;
                i++;
        }
}
void firm::output(firm *fr, int n)
{
        int c;
        cout << "\n\nВведите категорию сотрудника (0 - 3) - ";
        cin >> c;
        for(int i = 0; i < n; i++)
        {
            switch(c)
            {
                case 3:
                    if (fr[i].category==3)
                    {
                        cout<<"Категория сотрудников высшая"<<endl;
                        fr[i].salary *= 1.7;
                        cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
                        cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
                        cout << "Имя сотрудника - " << fr[i].name << "\n";
                        cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
                        cout << "наименование отдела - " << fr[i].department << "\n";
                        cout << "Должность сотрудника - " << fr[i].post << "\n";
                        cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
                    };
                    break;
                case 2:
                    if (fr[i].category==2)
                    {
                        cout<<"Категория сотрудников первая"<<endl;
                        fr[i].salary *= 1.4;
                        cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
                        cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
                        cout << "Имя сотрудника - " << fr[i].name << "\n";
                        cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
                        cout << "наименование отдела - " << fr[i].department << "\n";
                        cout << "Должность сотрудника - " << fr[i].post << "\n";
                        cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
                    };
                    break;
                case 1:
                    if (fr[i].category==1)
                    {
                        cout<<"Категория сотрудников вторая"<<endl;
                        fr[i].salary *= 1;
                        cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
                        cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
                        cout << "Имя сотрудника - " << fr[i].name << "\n";
                        cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
                        cout << "наименование отдела - " << fr[i].department << "\n";
                        cout << "Должность сотрудника - " << fr[i].post << "\n";
                        cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
                    };
                    break;
                case 0:
                    if (fr[i].category==0)
                    {
                        cout<<"Сотрудники не имеют категории"<<endl;
                        fr[i].salary *= 0.7;
                        cout << "\nИдентификационный номер сотрудника - " << fr[i].id_number << "\n";
                        cout << "Фамилия сотрудника - " << fr[i].surname << "\n";
                        cout << "Имя сотрудника - " << fr[i].name << "\n";
                        cout << "Отчество сотрудника - " << fr[i].patronymic << "\n";
                        cout << "наименование отдела - " << fr[i].department << "\n";
                        cout << "Должность сотрудника - " << fr[i].post << "\n";
                        cout << "Категория сотрудника - " << fr[i].category << "\n";
                        cout << "Зарплатa сотрудника - " << fr[i].salary << "\n";
                    };
                    break;}
        
}}
 
int main()
{
        setlocale(0,"");
        int n;
        cout << "Введите количество сотрудников - ";
        cin >> n;
 
        firm *fr = new firm[n];
        
        fr->input(fr, n);
        fr->output(fr, n);
 
        delete [] fr; //очищаем память
        
     
        getch();
        return 0;
}
Yandex
Объявления
21.03.2012, 11:06     Создать класс
Ответ Создать тему
Опции темы

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