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

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

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

Определить размер заработной платы каждого сотрудника фирмы - C++

22.11.2014, 10:50. Просмотров 703. Ответов 2
Метки нет (Все метки)

Информация о сотрудниках фирмы содержит:
• Ф. И. О. сотрудника;
• табельный номер;
• количество отработанных часов за месяц;
• почасовой тариф.
Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Выведите размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 13 % от суммы заработка. Информацию отсортируйте.


Вот нашел похожую, нужно упростить)

Добавлено через 51 минуту
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
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
FILE *f;
typedef struct
{
    char fio[20];
    int data;
    int sost;
    int tarif;
}
dan;
dan info[10];
int main ()
{
    system("ChCp 1251");
    system("cls");
    int menu;
    int i=0;
    char name[20];
    unsigned char n;
    while(true)
    
    {
    cout<<"viberite neobxodimoe deistvie:"<<endl;
    cout<<"1: Sozdat fail"<<endl;
    cout<<"2: otkrit fail"<<endl;
    cout<<"3: vixod"<<endl;
    cin>>menu;
    switch(menu)
    {
    case 1:
    cout<<"vvedite imai file"<<endl;
    cin>>name;
    f=fopen (name,"wb");
    system("cls");
    while (true)
        {
        system("cls");
        cout<<"familia ima otchestvo: ";
        cin>>info[i].fio;
        cout<<"tabelni nomer: ";
        cin>>info[i].data;
        cout<<"kolichestvo chasov: ";
        cin>>info[i].sost;
        cout<<"tarif: ";
        cin>>info[i].tarif;
        printf("zarplata\t");
        int z=0;
        if(info[i].sost>120)
        {
        z=(info[i].sost-120)*(info[i].tarif*2)+(120*info[i].tarif);
        }
        else 
        {
        z=info[i].sost*info[i].tarif;
        }
        fprintf(stdout,"%d\n", z);
        fwrite(&info[i],sizeof(dan),1,f);
        cout<<"dli prodolzenia nazmi D, dla zavershenia  N"<<endl;
        cin>>n;
        if (n=='N')
        break;
        i++;
        }
        system("cls");
        cout<<"file s imenem "<<name<<" sozdan!";
        system("pause");
        system("cls");
        fclose(f);
        break;
        case 3:
        exit(2);
        break;
        case 2:
        system("cls");
        cout<<"vvedi name file"<<endl;
        cin>>name;
        if ((f=fopen(name,"rb"))==0)
        {
               system("cls");
        cout<<"file s imenem  "<<name<<" ne suchestvuet!"<<endl<<endl;
               break;
        }
        i=0;
        system("cls");
        cout<<"Spisok zarplat sotrudnikov:"<<endl<<endl;
        while (!feof(f))
        {
        fread(&info[i],sizeof(dan),1,f);
        for (i=0;i<=2;i++)
        {
        cout<<"familia ima otchestvo: "<<info[i].fio<<endl;
        cout<<"tabelni nomer: "<<info[i].data<<endl;
        cout<<"kolichestvo chasov: "<<info[i].sost<<endl<<endl;
                      cout<<"tarif: "<<info[i].tarif<<endl<<endl;
        }
        i++;
}
system("pause");
fclose(f);
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 10:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить размер заработной платы каждого сотрудника фирмы (C++):

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

[ООП + while]Определение заработной платы для каждого - C++
После Введите количество сотрудников: программа завершается (( Помогите пожалуйста #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Создать список отделов и вычислить общую сумму заработной платы сотрудников каждого отдела - C++
помогите пожалуйста решить задачу! срочно нужно! в с++. 7. В файле задан список сотрудников с указанием фамилии, отдела, названия месяца...

Определить сумму введенной заработной платы (использовать перечисления) - C++
Написать программу, которая определяет сумму введенной заработной платы: «очень низкая», «низкая», «средняя», «высокая», «очень высокая»,. ...

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

Напечатать ведомость выплаты заработной платы за выполненную работу - C++
Помогите пожалуйста разобраться с массивами, буду благодарен за любую помощь M водителей с табельными номерами N1,N2,...,Nm перевозили...

2
zss
Модератор
Эксперт С++
6587 / 6149 / 2025
Регистрация: 18.12.2011
Сообщений: 16,029
Завершенные тесты: 1
22.11.2014, 11:04 #2
Цитата Сообщение от Zhenyafrf Посмотреть сообщение
int data;
- вы считаете, что имя data очень подходит для обозначения табельного номера?
Цитата Сообщение от Zhenyafrf Посмотреть сообщение
int sost;
- тот же вопрос, как это можно отождествлять с количеством отработанных часов за месяц?
1
Zhenyafrf
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 24
22.11.2014, 12:02  [ТС] #3
Спасибо, во всем уже разобрался)

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
#include <stdio.h>
 #include <string.h>
 #include <windows.h>
 #include <conio.h>
 #include <iostream>
 using namespace std;
 
 char bufRus[256];
  char* Rus(char* mes)
  { AnsiToOem(mes, bufRus);
    return bufRus;
   }
 
const int l_name = 30;
 
 struct Man
  { char name[l_name];
    int tabel;
    int time;
    int tariv;
    int zp;
  };
 
int compare(const void *manl, const void *man2);
 
// ñîçäГ*Г*ГЁГҐ ГґГ*éëГ*
 
void create()
{ Man man; int pr; FILE *fbin;
  if ((fbin =fopen("dbase.bin","wb")) == NULL)
   { puts(Rus("Ochibka cozdania faila\n "));
   getch();
   }
  else
    { do
       { cout << Rus("\n Iniciali: ");
         cin.get() ; gets (man.name) ;
         cout << Rus("\n В№ Tabela: ");
         cin >> man.tabel;
         cout << Rus("\n Vremya raboti: ");
         cin >> man.time;
         cout << Rus("\n tariv: ");
         cin >> man.tariv;
         fwrite(&man, sizeof(man),1,fbin);
         cout<<Rus("\n Prodolhit vvod (1-Da/0-Net)");
         cin >> pr;
         } while(pr == 1);
   }  
  fclose(fbin);
}
 
// Ïðîñìîòð ГґГ*éëГ*
 
void view()
  { FILE *fbin;
    if ((fbin =fopen("dbase.bin","rb")) == NULL)
     { puts(Rus("Ohibka otkritia faila\n"));
       getch();
     }
    else
     { fseek(fbin, 0, SEEK_END);
       int n_record = ftell(fbin)/sizeof(Man);
       Man *man = new Man[n_record];
       fseek(fbin, 0, SEEK_SET);
       fread(man, sizeof(Man),n_record, fbin);
       fclose(fbin);
       qsort(man, n_record, sizeof(Man), compare);
       for (int i=0; i < n_record; i++)
        cout << "\n" << man[i].name << "  " <<
         man[i].tabel << "  " << man[i].time << "  " << man[i].tariv << "  " << man[i].zp;
        cout << "\n";
        getch();
     }
  }
 
// ГЋГЎГ°Г*áîòêГ* ГґГ*éëГ*
 
 void work()
  { char z_name[l_name];
    FILE *fbin;
    if ((fbin =fopen("dbase.bin","rb")) == NULL)
     { puts(Rus("Ohibka otkritia\n"));
       getch();
     }
    else
     { fseek(fbin, 0, SEEK_END);
       int n_record = ftell(fbin)/sizeof(Man);
       Man *man = new Man[n_record];
       fseek(fbin, 0, SEEK_SET);
       fread(man, sizeof(Man),n_record, fbin);
       fclose(fbin);
       qsort(man, n_record, sizeof(Man), compare);
cout<<Rus("\nVVedite Iniciali cotrudnika:");
       cin.get();gets(z_name);
       for (int i=0; i < n_record; i++)
       { if (!strcmp(man[i].name,z_name))
          cout <<  "\n" << man[i].name << "  " <<
           man[i].tabel << "  " << man[i].time << man[i].tariv << "  " << man[i].zp;
       }
       cout << "\n";
       getch();
     }
 }
 
int main()
 { int num;
   do
    { cout << Rus("\n 1 - Cozdanie faila");
      cout << Rus("\n 2 - Prosmotr faila");
      cout << Rus("\n 3 - Obrabotka faila");
      cout << Rus("\n 4 - Vixod");
      cout << Rus("\n Bach vibor: ");
      cin >> num;
      switch(num)
       { case 1: create();break;
         case 2: view();break;
         case 3: work();break;
       }
    } while (num != 4);
   return 0;
}
 
int compare(const void *manl, const void *man2)
{ 
   return strcmp(((Man *)manl)->name,
((Man *)man2)->name);
 }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2014, 12:02
Привет! Вот еще темы с ответами:

Программа расчета суммы налоговых отчислений от заработной платы - C++
Составить программу расчета суммы налоговых отчислений от заработной платы(1% - Проф. внос, 15% - подоходный налог, 2% - пенсионный фонд).

Вывести название предприятия, в порядке убывания средней заработной платы - C++
Здравствуйте! Нужна помощь, есть массив который имеет данные про предприятие: Название, Количество Сотрудников, и Суммарная заработная...

Как вычислить сумму заработной платы нескольких сотрудников, после введения данных - C++
Вобщем задание такое: A small advertising company would like to consider a pay raise to its 15 staff members. The suggested pay raise ...

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


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

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

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