0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 7
1

Создать класс ListPayment (зарплата) что-то не получается дописать программу

25.12.2015, 09:21. Показов 4606. Ответов 1
Метки нет (Все метки)

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
//Создать класс ListPayment (зарплата). В классе содержится список сотрудников, для которых рассчитывается заработная плата. 
//Сотрудник представлен классом Person с полями: табельный номер, фамилия-имя-отчество, оклад, год поступления на работу,
//процент надбавки,подоходный налог, количество отработанных дней в месяце, количество рабочих дней в месяце, начисления,
//удержания.Реализовать методы вычисления класса Person: начисленной суммы, удержанной суммы,
//суммы выдаваемой на руки и стажа.Стаж вычисляется как полное количество лет,
//прошедших от года поступления на работу до текущего года.Начисления представляют собой сумму, 
//начисленную за отработанные дни и надбавки – доли от суммы, начисленной за отработанные дни. 
//Удержания представляют собой отчисления в пенсионный фонд (1 процент от начисленной суммы) и подоходный налог.    
//Подоходный налог составляет 13% от начисленной суммы без отчислений в пенсионный фонд. 
//Реализовать методы вычисления полных сумм по всему списку: начислено, удержано, на руки, подоходный налог,
//пенсионный фонд. 
 
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
class payment
{
 
 public:    
     char fio; //Фио
    float oklad; //оклад
    int year; //год поступления на работу
    float procent; //процент надбавки
    float nalog; //подоходный налог
    int rab_day_month; //кол-во отработанных дней
    float day_month; //кол-во рабочих дней
    float nach_summ; //начисленная сумма
    float yder_summ; //удержанная сумма
    float stag; //стаж (полное кол-во лет)
    float zp; //зарплата
 
    float vichisl_nach_summ();
    float vichisl_yder_summ();
    float vichisl_zp();float vichisl_stag();
    void set()
    {
        cout<<"Введите фамилию сотрудника - ";
cin>>fio;
cout<<"Введите оклад сотрудника  - \n";
cin>>oklad;
cout<<"Введите год поступления сотрудника на работу - \n";
cin>>year;
cout<<"Введите процент надбавки - \n";
cin>>procent;
cout <<"Введите кол-во отработанных дней - \n";
cin>>rab_day_month;
    }
void print()
{
    cout<<"Начисленная сумма составляет: "<<vichisl_nach_summ()
<<"\n";
cout<<"Удержанная сумма составляет: "<<vichisl_yder_summ()<<"\n";
cout<<"Сумма, выдаваемая на руки составляет: "<<vichisl_zp()<<"\n";
cout<<"Стаж составляет: "<<vichisl_stag()<<"\n";
 
}
};
 
float payment::vichisl_nach_summ(){return (oklad*rab_day_month);}
float payment::vichisl_yder_summ(){return (rab_day_month*oklad*0.01+rab_day_month*oklad*0.13);}
float payment::vichisl_zp(){return (rab_day_month*oklad-(rab_day_month*oklad*0.13)-(rab_day_month*oklad*0.01)+(rab_day_month*oklad*procent*0.01));}
float payment::vichisl_stag(){return (2009-year);}
 
class spisok; 
{
    payment S[50];
    int col()
public: 
    spisok()
    { cout<<"Введите количество сотрудников - ";
cin>>col;
for(int i=0;i<col;i++) S[i].set();
    }
    void print(){
for(int i=0;i<col;i++) S[i].print();
    }
}
 
 
 
 
 
void main(){
    setlocale(LC_ALL,"Russian");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 spisok d;
 
delete f;
getch();
return 0;}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2015, 09:21
Ответы с готовыми решениями:

Создать класс Payment (зарплата)
В классе должны быть представлены поля: фамилия, имя, отчество, оклад, кол-во отработанных дней в...

Как создать столбец зарплата, где она получается из умножения двух столбцов часы и з/п за час?
Есть два столбца кол-во отработанных часов и з/п за час. Как вывести в столбец зарплата значение,...

Не получается дописать программу по массивам
Задание: В каждой строке матрицы Т найти количество делящихся на 3, и записать эти числа в...

Не получается дописать программу вывода слов без цифр
Добрый вечер сорумчани! Помогите пожалуйста дописать программу. Есть строчка с словами, нужно...

1
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
25.12.2015, 15:10 2
Наверное можно как то так. Реализуйте функцию расчета.
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <iostream>
#include <string>
#include <vector>
 
namespace cf{
 
    class Salary{
        protected:
            float m_perAllow;   // процент надбавки
            float m_incomeTax;  // подоходный налог
            float m_salary;         // оклад
            float m_accrual;        // начислено
        public:
            Salary(float perAllow = 0, float incomeTax = 0, float salary = 0, float accrual = 0) : 
                        m_perAllow(perAllow), m_incomeTax(incomeTax), m_salary(salary), m_accrual(accrual){}
                        
            void setPerAllow(float perAllow){
                m_perAllow = perAllow;
            }
            void setIncomeTax(float incomeTax){
                m_incomeTax = incomeTax;
            }
            void setSalary(float salary){
                m_salary = salary;
            }
            void setAccrual(float accrual){
                m_accrual = accrual;
            }
            float getPerAllow() const{
                return m_perAllow;
            }
            float getIncomeTax() const{
                return m_incomeTax;
            }
            float getSalary() const{
                return m_salary;
            }
            float getAccrual() const{
                return m_accrual;
            }
            void print() const{
                std::cout << "m_perAllow = "    << m_perAllow << std::endl;
                std::cout << "m_incomeTax = " << m_incomeTax << std::endl;
                std::cout << "m_salary = "      << m_salary << std::endl;
                std::cout << "m_accrual = "     << m_accrual << std::endl;
            }
    };
            
        class Person{
            protected:
                Salary m_salary;                // зарплата
                size_t m_tabNumber;         // табельный
                size_t m_year;                  // год поступления на работу
                size_t m_dayMonth;          // дней в месяце
                size_t m_dayWorkMonth;  // отработанных дней в месяце
                std::string m_fio;          // фио
            public:
                Person(const Salary & salary, size_t tabNumber, size_t year, size_t dayMonth,
                            size_t dayWorkMonth, const std::string & fio) : m_salary(salary), m_tabNumber(tabNumber), 
                            m_year(year), m_dayMonth(dayMonth), m_dayWorkMonth(dayWorkMonth), m_fio(fio){}
                            
                void setSalary(const Salary & salary){
                    m_salary = salary;
                }
                void setTabNumber(size_t tabNumber){
                    m_tabNumber = tabNumber;
                }
                void setYear(size_t year){
                    m_year = year;
                }
                void setDayMonth(size_t dayMonth){
                    m_dayMonth = dayMonth;
                }
                void setDayWorkMonth(size_t dayWorkMonth){
                    m_dayWorkMonth = dayWorkMonth;
                }
                void setFIO(const std::string & fio){
                    m_fio = m_fio;
                }
                const Salary & getSalary() const{
                    return m_salary;
                }
                size_t getTabNumber() const{
                    return m_tabNumber;
                }
                size_t getYear() const{
                    return m_year;
                }
                size_t getDayMonth() const{
                    return m_dayMonth;
                }
                size_t getDayWorkMonth() const{
                    return m_dayWorkMonth;
                }
                const std::string & getFIO() const{
                    return m_fio;
                }
                void print() const{
                    std::cout << "m_tabNumber = "       << m_tabNumber << std::endl;
                    std::cout << "m_year = "                    << m_year << std::endl;
                    std::cout << "m_dayMonth = "            << m_dayMonth << std::endl;
                    std::cout << "m_dayWorkMonth = "    << m_dayWorkMonth << std::endl;
                    std::cout << "m_fio = "                     << m_fio << std::endl;
                    m_salary.print();
                }
    };      
    
    class Payment{
        protected:
            Person * m_person;
        public:
            Payment(Person * p = 0) : m_person(p){}
            void set(Person * p){
                m_person = p;
            }
            const Person * getPerson(){
                return m_person;
            }
            void payroll(){
                // TO DO
            }
            Payment(){
                delete m_person;
            }
            void print() const{
                if(m_person){
                    m_person-> print();
                    std::cout << std::endl;
                    std::cout << "----------------------------" << std::endl;
                    std::cout << std::endl;
                }
            }
    };
    
    class ListPayment{
        protected:
            std::vector<Payment *> staff;
        public:
            void add(Payment * p){
                staff.push_back(p);
            }
            void payrollAll(){
                for(size_t i = 0; i < staff.size(); ++i)
                    staff[i]->payroll();
            }
            void printListPayment() const{
                for(size_t i = 0; i < staff.size(); ++i)
                    staff[i]->print();
            }
            ~ListPayment(){
                for(size_t i = 0; i < staff.size(); ++i)
                    delete staff[i];
            }
    };
}
 
int main(){
    
    cf::ListPayment listPayment;
 
    listPayment.add(new cf::Payment(new cf::Person(cf::Salary(), 1, 2005, 23, 23, std::string("Mark Shuttleworth"))));
    listPayment.add(new cf::Payment(new cf::Person(cf::Salary(), 2, 1991, 23, 23, std::string("Linus Benedict Torvalds"))));
    listPayment.add(new cf::Payment(new cf::Person(cf::Salary(), 3, 1986, 23, 23, std::string("Richard Matthew Stallman"))));
    
    listPayment.printListPayment();
    
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2015, 15:10
Помогаю со студенческими работами здесь

Дописать программу класс String
Здравствуйте, у меня есть код в нем нужно реализовать : 1)Поиск подстроки в строке 2)Удаление...

Создать класс "Зарплата", в закрытой части которого размещен список объектов с данными о сотрудниках
Создать класс ЗАРПЛАТА, в закрытой части которого размещен список объектов с данными о сотрудниках,...

Как используя понятие Класс и ООР дописать программу?
Подскажите, пожалуйста, как дописать программу добсчёта общей цены заказа после нажатия кнопки -...

Переписать класс с Public в Private. Обеспечить доступ к данным (дописать программу)
Всем привет. Написал код &quot;база данных студентов&quot;. Нужно переделать: всё что находится в public,...


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

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

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