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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Damik
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 46
#1

Cведения о месячной заработной плате рабочих завода - C++

29.04.2012, 20:19. Просмотров 1386. Ответов 10
Метки нет (Все метки)

Создать файл, содержащий сведения о месячной заработной плате рабочих завода. Каждая запись содержит поля - фамилия рабочего, наименование цеха, размер заработной платы за месяц. Количество записей 10. Вычислить общую сумму выплат за месяц по цеху Х, а также среднемесячный заработок рабочего этого цеха. Напечатать для бухгалтерии ведомость для начисления заработной платы рабочим этого цеха.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 20:19     Cведения о месячной заработной плате рабочих завода
Посмотрите здесь:

Напечатать ведомость выплаты заработной платы за выполненную работу C++
C++ [ООП + while]Определение заработной платы для каждого
Алгоритм. Распечатать список рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты и стажа C++
C++ Определить размер заработной платы каждого сотрудника фирмы
Различные цеха завода выпускают продукцию нескольких наименований C++
Различные цехи завода выпускают продукцию нескольких наименований C++
Программа расчета суммы налоговых отчислений от заработной платы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
30.04.2012, 16:46     Cведения о месячной заработной плате рабочих завода #2
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define N 10
 
typedef struct Salary
{
    char pszEmployee[256];
    char pszWorkcraft[256];
    double nSalaryAmount;
} SALARY;
 
int main(void)
{
    static SALARY salary[N] = { { "Ivanov",     "A1", 1120.00 },
                                { "Petrov",     "B5", 2250.00 },
                                { "Sidorov",    "A1", 3315.00 },
                                { "Pavlov",     "A1", 5454.00 },
                                { "Nickolayev", "D1", 3443.00 },
                                { "Stepanov",   "D1", 6812.00 } };
 
    static char pszWorkcraft[256] = "\0";
    printf("Enter workcraft name:"); gets(pszWorkcraft);
 
    double nSum = 0, nAvg = nSum;
    for (int iIndex = 0; iIndex < N; iIndex++)
        if (!strcmp(salary[iIndex].pszWorkcraft, pszWorkcraft))
        {
            printf("%s %s %4.2f\n",salary[iIndex].pszEmployee, 
                salary[iIndex].pszWorkcraft, salary[iIndex].nSalaryAmount);
            nSum+=salary[iIndex].nSalaryAmount;
            nAvg+=(double)salary[iIndex].nSalaryAmount / N;
        }
 
    printf("\nnSum = %4.2f Avg = %4.2f\n", nSum, nAvg);
 
    return 0;
}
Damik
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 46
01.05.2012, 14:48  [ТС]     Cведения о месячной заработной плате рабочих завода #3
А можете на С++ написать?
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2012, 14:49     Cведения о месячной заработной плате рабочих завода #4
Damik, вы имеете ввиду STL? Если, да то могу. Через некоторое время выложу.
Damik
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 46
01.05.2012, 14:51  [ТС]     Cведения о месячной заработной плате рабочих завода #5
так же но, на языке с++. А то я не знаю операторов Си и что они делают
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2012, 14:54     Cведения о месячной заработной плате рабочих завода #6
На самом деле они одинаковы. То что я писал - это и есть язык C++, за исключением
использования библиотек STL (C++ Standard Template Library).

Добавлено через 37 секунд
Исходник с использованием STL все равно выложу ниже.
Damik
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 46
01.05.2012, 14:56  [ТС]     Cведения о месячной заработной плате рабочих завода #7
просто я не понял что делают printf, gets, %s %s %4.2f\n
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2012, 15:10     Cведения о месячной заработной плате рабочих завода #8
gets(pszWorkcraft) - считывает строку с названием цеха.
printf("%s %s %4.2f\n",....) - выводит на экран полную информацию по каждому из полей структуры
SALARY, удовлетворяющему условию.

Добавлено через 12 минут
Пример программы на C++ с использование STL:

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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#include <iostream>
#include <vector>
#include <string>
 
#define N 10
 
using namespace std;
 
class Salary
{
public:
    string employee;
    string workcraft;
    double salary;
};
 
vector<Salary> salary_rec;
 
int main(void)
{
    Salary sr; 
    sr.employee = "Ivanov";
    sr.workcraft = "A1";
    sr.salary = 1120.00;
    salary_rec.push_back(sr);
 
    sr.employee = "Petrov";
    sr.workcraft = "B5";
    sr.salary = 2250.00;
    salary_rec.push_back(sr);
 
    sr.employee = "Sidorov";
    sr.workcraft = "A1";
    sr.salary = 3315.00;
    salary_rec.push_back(sr);
 
    sr.employee = "Pavlov";
    sr.workcraft = "A1";
    sr.salary = 5454.00;
    salary_rec.push_back(sr);
 
    sr.employee = "Nikolayev";
    sr.workcraft = "D1";
    sr.salary = 3443.00;
    salary_rec.push_back(sr);
 
    sr.employee = "Stepanov";
    sr.workcraft = "D1";
    sr.salary = 6812.00;
    salary_rec.push_back(sr);
 
    string workcraft = "";
    printf("Enter workcraft name:"); cin >> workcraft;
 
    double nSum = 0, nAvg = nSum;
    vector<Salary>::iterator iter;
    for (iter = salary_rec.begin(); iter < salary_rec.end(); iter++)
        if (iter->workcraft == workcraft)
        {
            cout << iter->employee << " " <<
                iter->workcraft << " " << iter->salary << endl;
            nSum+=iter->salary; nAvg+=(double)iter->salary / N;
        }
 
    cout << endl << "nSum = " << nSum << " Avg = " << nAvg << endl;
 
    return 0;
}
Damik
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 46
01.05.2012, 15:14  [ТС]     Cведения о месячной заработной плате рабочих завода #9
А вот это я понимаю. Спасибо
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
22.05.2014, 20:04     Cведения о месячной заработной плате рабочих завода #10
zitxbit, скажите пожалуйста,а что в этой программе надо вводить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2016, 13:10     Cведения о месячной заработной плате рабочих завода
Еще ссылки по теме:

Распечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты C++
Напечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты C++
Ведомость движения материальных ценностей по филиалам завода C++
Програма для начисления заработной платы работникам C++
Определить сумму введенной заработной платы (использовать перечисления) C++

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

Или воспользуйтесь поиском по форуму:
katerinaа
80 / 13 / 0
Регистрация: 19.03.2012
Сообщений: 304
Записей в блоге: 1
10.11.2016, 13:10     Cведения о месячной заработной плате рабочих завода #11
zitxbit, А где же Ваш исходник?Продублируйте плиз
Yandex
Объявления
10.11.2016, 13:10     Cведения о месячной заработной плате рабочих завода
Ответ Создать тему
Опции темы

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