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

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

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

Надо исправить код ) - C++

16.02.2014, 16:18. Просмотров 210. Ответов 0
Метки нет (Все метки)

Реализовать класс Payment (зарплата). В классе должны быть представлены поля: фамилия-имя-отчество, оклад, дата, процент надбавки, подоходный налог, количество отработанных дней в месяце, начисленная и удержанные суммы. Реализовать методы: вычисления начисленной суммы, вычисления удержанной суммы, вычисления суммы, выдаваемой на руки, вычисления стажа. Использовать для представления полей начислений и удержаний класс Money для работы с денежными суммами. Число должно быть представлено двумя полями: типа long для рублей и типа unsigned char – для копеек. Дробная часть (копейки) при выводе на экран должна быть отделена от целой части запятой. Реализовать сложение, вычитание, деление сумм, деление суммы на дробное число, умножение на дробное число и операции сравнения.


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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <locale.h>
using namespace std;
class payment
{
  char fio; 
  float oklad; 
  int year;
  float procent; 
  int rab_day_month; 
  float day_month; 
  float nach_summ; 
  float yder_summ; 
  float stag; 
  float zp; 
public:
  float vich_nach_summ();
  float vich_yder_summ();
  float vich_zp();
  float vich_stag();
};
 
class money
{
long roub;
unsigned int cop;
float Sum;
void splitUp()
      {
        roub = (int)Sum;
        cop = (int)((Sum - Sum) * 100);
      };
      public:
             void get()
             {
                  cin >> Sum;
                  splitUp();
             };
             void show()
             {
                  cout << roub << ",";
                  if (cop < 10)
                  {
                              cout << "0";
                  }
                  cout << cop;
                                
             };
             money operator+ (money arg)
             { 
                    money temp;
                    temp.Sum = this->Sum + arg.Sum;
                    temp.splitUp();
                    return temp;
             };
             money operator- (money arg)
             { 
                    money temp;
                    temp.Sum = this->Sum - arg.Sum;
                    temp.splitUp();
                    return temp;
             };
             float operator/ (money arg)
             { 
                    float temp;
                    temp = this->Sum / arg.Sum;
                    return temp;
             };
             money operator/ (float arg)
             { 
                    money temp;
                    temp.Sum = this->Sum / arg;
                    temp.splitUp();
                    return temp;
             };
             money operator* (float arg)
             { 
                    money temp;
                    temp.Sum = this->Sum * arg;
                    temp.splitUp();
                    return temp;
             };
              bool operator== (money arg)
             { return (this->Sum == arg.Sum); };
             bool operator!= (money arg)
             { return (this->Sum != arg.Sum); };
             bool operator> (money arg)
             { return (this->Sum > arg.Sum); };
             bool operator< (money arg)
             { return (this->Sum < arg.Sum); };
             bool operator>= (money arg)
             { return (this->Sum >= arg.Sum); };
             bool operator<= (money arg)
             { return (this->Sum <= arg.Sum); };
            
};
 
float payment::vich_nach_summ()
{return (oklad*rab_day_month);}
 
float payment::vich_yder_summ()
{return (nach_summ-vich_zp);}
 
float payment::vich_zp()
{return (rab_day_month*oklad-(rab_day_month*oklad*0.13));}
 
float payment::vich_stag()
{return (2014-year);}
 
 
void main()
{ 
  payment h;
  money q;
  cout<<"vvedite fio - "; 
  cin>>h.fio; 
  cout<<"vvedite oklad  - "; 
  cin>>h.oklad; 
  cout<<"god postupleniya na raboty - "; 
  cin>>h.year; 
  cout<<"vvedite procent nadbavki - "; 
  cin>>h.procent; 
  cout <<"vvedite kol-vo otrabotannix dney - "; 
  cin>>h.rab_day_month; 
  if(h.rab_day_month>31) {cout<<"ne korrektnoe chislo"<<endl;
    cout <<"vvedite kol-vo otrabotannix dney - "; 
    cin>>h.rab_day_month; }
  cout<<"Nachislennaya summa sostavl: "<<h.vich_nach_summ() <<endl; 
  cout<<"Uderzh summa sostavl: "<<h.vich_yder_summ()<<endl; 
  cout<<"Na ruki: "<<h.vich_zp()<<endl; 
  cout<<"Staj: "<<h.vich_stag()<<endl;
  getch();
    
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 16:18     Надо исправить код )
Посмотрите здесь:

Надо исправить код! Распечатать анкетные данные студентов, успевающих на 4 и 5 - C++
Скажите, пожалуйста, как сделать, чтобы выводились все студенты, у кого 4 и 5. Не получается, выводится только один по этому коду. ...

Зацикливается. Надо исправить - C++
Программу я пишу очень известную здесь на форуме: Описать структуру с именем ZNAK, содержащую следующие поля: Фамилия, имя; Знак...

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

народ помогите пож-та, надо аттестацию исправить))) - C++
Напишите функцию, которая воспринимает время как три целых аргумента (часы, минуты и секунды) и возвращает количество секунд, прошедших со...

Подсчитать, сколько букв надо исправить в слове Х - C++
Подсчитать, сколько букв надо исправить в слове Х, чтобы получилось слово Y (Х,Y - слова одинаковой длины).

Почему выдает 0, и что надо исправить в вызове функции? - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; int ch1,ch2,osn, summa,PROI,PR,pr ; int Perevert(int x)// { int xp = 0; ...

программа которая переводит введенные числа в буквенную начертанию (надо немного исправить) - C++
Уважаемые программисты, помогите исправить программу, программа должна введенное с клавиатуры число переводить в письменное начертание,...

Надо исправить программу, пожалуйста. Задание: заменить заданное слово в строке другим заданным словом - C++
Задание: заменить заданное слово в строке другим заданным словом Вот какие баги, если можно так выразиться, я нашёл: 1. Программа...

Надо переписать код через оператор new - C++
Задание: Найти минимальный элемент матрицы и заменить им элементы которые находятся ниже главной диагонали. Надо переписать код...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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