Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Denimen
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
#1

Что необходимо изменить в программе? - C++

19.08.2012, 19:43. Просмотров 405. Ответов 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
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
169
170
171
172
173
174
175
176
177
178
179
#include "stdafx.h"
#include "cstdlib"
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
using namespace std;
struct date
{
    unsigned int god; // год
    unsigned int mesaz; //месяц
    unsigned int den; // день
};
class Payment
{
private:
    char family[30]; //фамилия имя отчество
    int oklad;// оклад
    int prozent_nad; // процент надбавки
    int nalog; //подоходный налог
    int otr_dni; //отработанные дни
    int rab_dni; //рабочие дни
    int nach_symma; //начисленная сумма
    int uder_symma; //удержанная сумма
    date ac;
public:
    void NewRabochiy(); // новая запись
    void NachSymma(); // вычисление начисленной суммы
    void UderSymma(); // вычисление удержанной суммы
    void KonechSymma(); // вычисление конечной сумма
    void Prosmotr(); // просмотр записи
};
class Date
{
private:
        date ac;
public:
    void Stag(); // вычисление стажа
};
void Payment::NewRabochiy()
{
    cout<<"Введите фамилию владельца : ";
    cin>>family;
    cout<<"Введите год поступления на работу ";
    cin>>ac.god;
    cout<<"Введите месяц поступления на работу ";
    cin>>ac.mesaz;
    cout<<"Введите число поступления на работу ";
    cin>>ac.den;
    cout<<"Запись добавлена"<<endl;
}
void Payment::NachSymma()
{
int k;
int n;
int h;
cout<<"Введите колличество отработанных дней : ";
cin>>otr_dni;
cout<<"Введите сумму которую необходимо выплотить за рабочий день : ";
cin>>k;
cout<<"Введите процент надбавки : ";
cin>>prozent_nad;
n=otr_dni*k;
h=(n*prozent_nad)/100;
nach_symma=h+n;
cout<<"Начисленная сумма равняется : "<<nach_symma;
}
void Payment::UderSymma()
{
    int k;
    cout<<"Удержанная сумма равна (13% подоходный налог и 1% в пенсионный фонд) : ";
    nalog=(nach_symma*13)/100;
    k=(nach_symma*1)/100;
    uder_symma=nalog+k;
    cout<<uder_symma;
}
void Payment::KonechSymma()
{
    cout<<"Конечная сумма выдаваемая на руки равна (начисленная сумма - удерженная сумма) : ";
    oklad=nach_symma-uder_symma;
    cout<<oklad;
}
void Payment::Prosmotr()
{
    cout<<"Фамилия имя отчество : "<<family<<endl;
    cout<<"Год поступления на работу "<<ac.god<<endl;
    cout<<"Месяц поступления на работу "<<ac.mesaz<<endl;
    cout<<"Число поступления на работу "<<ac.den<<endl;
    cout<<"Стаж : "<<" "<<endl;
    cout<<"Оклад : "<<oklad<<endl;
    cout<<"Процент надбавки : "<<prozent_nad<<endl;
    cout<<"Подоходный налог : "<<nalog<<endl;
    cout<<"Отработанные дни : "<<otr_dni<<endl;
    cout<<"Начисленная сумма : "<<nach_symma<<endl;
    cout<<"Удержанная сумма : "<<uder_symma<<endl;
}
void Date::Stag()
{ 
    unsigned int n;
    unsigned int h;
    unsigned int k;
    unsigned int g;
    unsigned int m;
    unsigned int l;
    cout<<"Введите текущий год : ";
    cin>>n;
    cout<<"Введите текущий месяц : ";
    cin>>h;
    cout<<"Введите текущее число : ";
    cin>>k;
    g= n - ac.god;
    m= h - ac.mesaz;
    l= k - ac.den;
    cout<<"Стаж равен :"<<g<<" года(лет) "<<m<<" месяца(месяцев) "<<l<<" дня(дней)."<<endl;
}
int main()
{
setlocale(LC_ALL,"");
Date aс;
Payment ac;
int m=0;
while(m!=7)
    {
    cout<<"1-Добавить новую запись"<<endl;
    cout<<"2-Вычислить начисленную сумму"<<endl;
    cout<<"3-Вычислить удержанную сумму"<<endl;
    cout<<"4-Вычислить конечную сумму"<<endl;
    cout<<"5-Вычислить стаж"<<endl;
    cout<<"6-Просмотреть запись"<<endl;
    cout<<"7-Выход"<<endl;
    cin>>m;
    switch (m)
        {
        case 1: 
            system("cls");
            ac.NewRabochiy();
            _getch();
            system("cls");
        break;
        case 2: 
            system("cls");
            ac.NachSymma();
            _getch();
            system("cls");
        break;
        case 3: 
            system("cls");
            ac.UderSymma();
            _getch();
            system("cls");
        break;
        case 4: 
            system("cls");
            ac.KonechSymma();
            _getch();
            system("cls");
        break;
        case 5: 
            system("cls");
            aс.Stag();
            _getch();
            system("cls");
        break;
        case 6: 
            system("cls");
            ac.Prosmotr();
            _getch();
            system("cls");
        break;
        case 7: 
        break;
        default: cout<<"Вводите зачения от 1 до 7";
            _getch();
            system("cls");
    }
  }
    return 0;
}
могу предполагать что в этой программе вообще всё не правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2012, 19:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что необходимо изменить в программе? (C++):

Что изменить в программе? - C++
Что нужно изменить в программе или добавить чтобы была возможность работать не с одной а с несколькими записями?#include &quot;stdafx.h&quot; ...

Что изменить в программе? - C++
Что изменить в программе чтобы можно было работать с несколькими записями благодаря указателям на текущий следующий и предыдущий...

Работа со стеком. Если массив нужен float, а не int, что необходимо изменить - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; // ****************СТЕК НА ОСНОВЕ МАССИВА*************** const int N =...

необходимо исправить ошибку в программе - C++
#include &lt;stdio.h&gt; #include &lt;string.h&gt; char* find(char* str, const char c) { char* pos; for(pos = str; *pos != '\0'; ++pos) { ...

Необходимо написать комментарии к программе - C++
Помогите написать комментарии к программе программа решает СЛАУ методом Гаусса я часть написал, проверьте пожалуйста и дополните если...

необходимо изменить программу - C++
#include &lt;iostream&gt; int main() { const int N = 5; using namespace std; double n; int count = N; float...

1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
19.08.2012, 21:07 #2
Добавьте сначала в структуру date конструктор по умолчанию, а то при создании обекта Date записывается мусор в член date ac.
C++
1
2
3
4
5
6
7
8
struct date
{
    unsigned int god; // год
    unsigned int mesaz; //месяц
    unsigned int den; // день
    date(unsigned int g = 2000, unsigned int m = 1, unsigned int d = 1):
        god(g), mesaz(m), den(d) {}
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2012, 21:07
Привет! Вот еще темы с ответами:

Необходимо изменить программу в C++ - C++
Здравствуйте. Собственно есть программа, которая минимизирует модель методом сопряженных направлений Пауэлла. Код: #include...

Необходимо отсортировать страны по алфавиту в программе - C++
Необходимо отсортировать страны по алфавиту в программе - C++ #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include...

Необходимо изменить код программы. - C++
Есть программа для измерения напряжения до 25.5В и тока до 2.55А , а мне необходимо измерять напряжение и ток до 50В и 5А соответственно....

Необходимо реализовать обработку исключительных ситуаций в программе - C++
Необходимо реализовать обработку исключительных ситуаций в программе, в котором реализуется циклический алгоритм вычисления вектора...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru