Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 17
1

Структура "Работник", рассчитать сумму заработной платы

18.12.2019, 03:41. Показов 679. Ответов 3
Метки нет (Все метки)

Код предпринимательства '99999'
Код цеху '99'
Табельный номеp работника '9999'
Фамилия работника (30)'A'
Год рождения '9999'
Код национальности '99'
Семейный статус '9'
Стаж pаботы общий '99'
Стаж pаботы непрерывный '99'
Код профессии '9999'
Разpяд '9'
Оклад '9999.99'


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



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

Код предпринимательства
Код цеха
Количество работников
Cума заработной платы

Проблемы с кодом по этому заданию
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 <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
//#include<ctype>
struct zavod{
    char kodPIDPR[4];   //код
    char kodCHEHU[1];   //код цеха
    char tabNom[3];     //табельний номер работника
    char prizvische[29];//Фамилия
    char riknar[3];     //Год рождения
    char kodNac[1];     //Код национальности
    char family[0];     //Семейный статус 
    char stazRob[1];    //Стаж работи
    char stazNep[1];    //непрерывный стаж роботи
    int code;       //кодп проф
    int rozrad;     //разряд
    int okladp;     //оклад
};
int main(){
    setlocale(LC_ALL, "Russian");
    /*
    ofsteam fl(zawod.txt)
    if()
    */
    ofstream output("zavod.txt");
    bool Flag = 1;
    zavod v;
    if (!output) {
        cout << "Не удалось открыть файл"; 
        exit(1);
    }
    else{
    //  std::cout << "Yдалось открыть файл";
        while(Flag){
            cout << "Введите код(5): ";
            cin >> v.kodPIDPR;
            
            
            cout << "Введите код цеха(2): ";
            cin >> v.kodCHEHU;
            
            cout << "Табельный номер работника(4): ";
            cin >> v.tabNom;
            
            cout << "Фамилия работника(5): ";
            cin >> v.prizvische;
            
            cout << "Год рождения(4): ";
            cin >> v.riknar;
            
            cout << "Код национальности(2): ";
            cin >> v.kodNac;
            
            
            cout << "Семейный статус(1): ";
            cin >> v.family;
            
            
            cout << "Стаж pоботи общий(2): ";
            cin >> v.stazRob;
            
    
            cout << "Стаж pоботи непрерывный(2): ";
            cin >> v.stazNep;
            
        
            cout << "Код пpофесии(4): ";
            cin >> v.code;
            
    
            cout << "Разpяд(1): ";
            cin >> v.rozrad;
            
            
            cout << "Оклад(5): ";
            cin >> v.okladp;
            
            
            
        //1
            output.write((char*)&v, sizeof(v));
            
            cout << endl << "Хотите продоложить?(True/False)\n";
            cin >> Flag;
            cout << string(5, '\n');
                
            //Flag = false;
            
        }
        
    } 
    
    cout<<" ___________________________________________________________________________________"<<endl;
    cout<<"|  Код предпринимательства   | Код Чека      |Количество работников| Сумма оплаты  |"<<endl;
    cout<<"|____________________________|_______________|_____________________|_______________|"<<endl;
    file.read((char*)&v, sizeof(v));
        while (!file.eof())
        {
            if (v.staz < 5)
            {
                cout << endl << "| " << setw(15) << v.kpr << "| " << setw(7) << v.kc << "| " << setw(8) << a;
                cout << endl << "|________________|________|____________________________|";
            }
            if (v.staz >= 5 && v.staz < 10)
            {
                cout << endl << "| " << setw(15) << v.kpr << "| " << setw(7) << v.kc << "| " << setw(13) << (b);
                cout << endl << "|________________|________|_____________________________|";
            }
            if (v.staz >= 10 && v.staz < 20)
            {
                cout << endl << "| " << setw(15) << v.kpr << "| " << setw(7) << v.kc << "| " << setw(17) << (c);
                cout << endl << "|________________|________|_________________________|";
            }
            if (v.staz >= 20)
            {
                cout << endl << "| " << setw(15) << v.kpr << "| " << setw(7) << v.kc << "| " << setw(25) << (f);
                cout << endl << "|________________|________|_____________________________|";
            }
            file.read((char*)&v, sizeof(v));
        }
        file.close();
    
    _getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2019, 03:41
Ответы с готовыми решениями:

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

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

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

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

3
344 / 280 / 142
Регистрация: 08.04.2013
Сообщений: 1,216
18.12.2019, 09:10 2
Цитата Сообщение от dudumargato Посмотреть сообщение
На основе запроса рассчитать сумму заработной платы
Вооопросы : рассчитать сумму зарплаты или сумму окладов Это раз. Если ответите появятся еще вопросы, огласите весь возможный список пожелании пожалуйста сразу
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 17
19.12.2019, 01:59  [ТС] 3
Цитата Сообщение от marat_miaki Посмотреть сообщение
Вооопросы : рассчитать сумму зарплаты или сумму окладов Это раз. Если ответите появятся еще вопросы, огласите весь возможный список пожелании пожалуйста сразу
Сумма зарплаты и есть сумма окладов. В этом задании.

Нужно, чтобы программа складывала зарплату всех работников цеха и выводила полученное значение в таблицу.
Аналогично зарплате, нужно, чтобы она выводила и количество этих работников. Таблица должна выглядеть следующим образом.
C++
1
2
3
 
cout<<"|  Код предпринимательства   | Код Цеха      |Количество работников| Сумма оплаты работникам  |"<<endl;
cout<<"|____________________________|_______________|_____________________|__________________________|"<<endl;
0
344 / 280 / 142
Регистрация: 08.04.2013
Сообщений: 1,216
19.12.2019, 14:26 4
В этом коде как минимум уже 5 ошибок, как найдете продолжим
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct zavod{
    char kodPIDPR[4];   //код
    char kodCHEHU[1];   //код цеха
    char tabNom[3];     //табельний номер работника
    char prizvische[29];//Фамилия
    char riknar[3];     //Год рождения
    char kodNac[1];     //Код национальности
    char family[0];     //Семейный статус 
    char stazRob[1];    //Стаж работи
    char stazNep[1];    //непрерывный стаж роботи
    int code;       //кодп проф
    int rozrad;     //разряд
    int okladp;     //оклад
};
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2019, 14:26

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Структура Работник, ошибки в функции ввода данных
Добрый вечер. Вот столкнулся с маленькой проблемой. Помогите найти ошибку пожалуйста Когда я...

[ООП + while]Определение заработной платы для каждого
После Введите количество сотрудников: программа завершается (( Помогите пожалуйста #include...

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

Структура элемента массива работник. Определить фамилию самого старшего мужчины
Структура элемента массива работник: фамилия, число, месяц и год рождения, пол. определить: ...


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

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

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