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

Ошибка в методе, помогите исправить - C++

Восстановить пароль Регистрация
 
inferno mf
1 / 1 / 0
Регистрация: 13.09.2009
Сообщений: 96
16.11.2010, 03:27     Ошибка в методе, помогите исправить #1
Помогите дописать 1 метод... Нужна функция-друг, которая позволяет вывести размер заработанной платы каждого сотрудника фирмы за вычетом подоходного налога,составляющего 12% от суммы заработка. Необходимо учесть, что рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Ошибка в методе totalzp, помогите поправить.


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
#include <stdlib.h>
#include <iostream>
using namespace std;
 
class Firm
   {
     protected:
        int tabnum;
        char* fio;
        int workhour;
        int tr;
     public:
        Firm() {}
        Firm(double zp) 
        {  zp = 0.88*tr*workhour; }
    ~Firm(){}
    
    void Create(int _tabnum, char* _fio, int _workhour, int _tr)
    {
        tabnum = _tabnum;
        fio = _fio;
        workhour = _workhour;
        tr=_tr;
    }
 
       void Print()
         {
           cout << "\n\n";
           cout << "\nWorking Number: " << tabnum;
           cout << "\nFIO: " << fio;
           cout << "\nWorking Hours: " << workhour;
           cout << "\nHour Cost: " << tr;
    
         }
       
       
       friend int totalzp(Firm* fr, double zp);
       
       
        
        virtual void print()
    {
           cout << "\n\n";
           cout << "\nWorking Number: " << tabnum;
           cout << "\nFIO: " << fio;
           cout << "\nWorking Hours: " << workhour;
           cout << "\nHour Cost: " << tr;
    }
};
 
class Firm1 : public Firm
 {
      private:
              int cmdays;
              int percent;
      public:
             Firm1() {}
             Firm1(int _cmdays, int _percent)
        
           {
             cmdays = _cmdays;
             percent = _percent;
           }
 
      void print()
        {
                Firm::print();
                cout << "\ntype: " << cmdays;
                cout << "\nis native: " << percent;
        }
};
 
int totalzp(Firm* fr, double zp)
{
    
      
      if (workhour>144)
      {
          zp=workhour*2*tr;             
                       }
                       
 
}
 
int main()
{
 
    Firm* workers[3];
    
    workers[0] = new Firm();
    
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2010, 03:27     Ошибка в методе, помогите исправить
Посмотрите здесь:

C++ помогите исправить.....
Помогите исправить ошибку C++
C++ Ошибка в методе, как исправить?
C++ Ошибка в коде. Помогите исправить.
Программа-ошибка. Помогите исправить C++
Нужно чтобы введённый студент в методе in вывелся на экран как в методе out C++
C++ Ошибка в методе обрабатывающем бинарное дерево
Организация поиска в списке. Исправить ошибку в методе поиска C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raizer
 Аватар для Raizer
5 / 5 / 1
Регистрация: 11.10.2009
Сообщений: 24
16.11.2010, 03:47     Ошибка в методе, помогите исправить #2
Если что уточните что вам надо или доработайте под себя код, но зачем вам double zp в функции друге, если вы возвращаете результат этой функции, а также в конструкторе с параметром.

Вот наверное та функция которая вам нужна
C++
1
friend double totalzp(Firm* fr);

C++
1
2
3
4
5
6
7
8
double totalzp(Firm* fr)
{
    int zarabotok;
    if (fr->workhour>144) 
    zarabotok = fr->workhour-144 * 2 * fr->tr + 144 * fr->tr;                
    else zarabotok = fr->workhour * fr->tr;
    return zarabotok - zarabotok * 0.12;
}

Yandex
Объявления
16.11.2010, 03:47     Ошибка в методе, помогите исправить
Ответ Создать тему
Опции темы

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