Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
/\АбдуЛлах/\

Программа для вычисления Зарплаты

08.10.2011, 20:06. Показов 3347. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Помогите доработать программу до более менее сносного вида.
Суть такова. Программа должна посчитать ЗП, часовая оплата зависит от должности. Далее по количеству сделанного товара считается денежная оплата по каждому виду. В конце все суммируется и начинается по новой.
Проблема с массивами. Нужно организовать такой массив famil, что бы с каждым новым циклом в очередную ячейку добавлялась новая фамилия, и в конце работы программы выводился список фамилий и рядом конечная сумма.Немогу понять как разбить программу на функции( как упростить однобразные вычисления и все остальное.
Заранее спасибо, буду рад любым подсказкам и тыканьям носом))
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
139
140
141
142
143
144
145
146
#include <locale>
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
    {   
    
        setlocale(0,"");
        locale imbue(const locale L);
        locale loc ("rus_rus.866");
        wcin.imbue(locale("rus_rus.866"));
        cout.precision(2);
    cout.setf(ios::fixed);
    cout <<"\t \t Программа для вычисления ЗП."<<"\n\n\t\t\n"<<"______________________________________________________________________"<<"\n";
    char A;
 
    wstring famil; //хотелось бы создать массив из фамилий, который выводился бы на экран с суммой денег после завершения работы в программе.
 
do // Начало цикла, который должен повторяться неопределенное кол-во раз
{
 
    double mas[11]; //Массив численных значений проделанной работы
    double money[11]; //Массив денежной оплаты за работу
    int Kat; 
    
    cout <<"\tВведите Фамилию\t\t\t Укажите категорию:\n\t\t\t\t\t\t1-Комплектовщик\n\t\t\t\t\t\t2-Оператор\n\t\t\t\t\t\t3-Менеджер\n\t  ";
 
    //Ввод фамилии
    wcin >>famil; cout <<"\t\t\t\t\t\t";
 
    //Ввод категории рабочего, от которой будет зависеть оплата за час, и в случае выбора менеджера остановка программы
    cin >>Kat;      
            if(Kat==1)
                {cout <<"\n\t\t\tВы выбрали комплектовщика";
            cout <<"\n________________________________________________________________________";
                    cout <<"\n\n\tЧасы\n"<<endl<<'\t';
                    cin >>mas[0];
                    money[0] = mas[0] * 45;
                    cout <<"\nДеньги за часы"<<'\t'<<'\t'<<money[0]<<endl<<"__________________________________________________\n"<<endl;
                }
            else 
                {if(Kat==2){cout <<"\n\t\t\tВы выбрали оператора";
            cout <<"\n________________________________________________________________________";
                    cout <<"\n\n\tЧасы\n"<<endl<<'\t';
                    cin >>mas[0];
                    money[0] = mas[0] * 55;
                    cout <<"\nДеньги за часы"<<'\t'<<'\t'<<money[0]<<endl<<"__________________________________________________\n"<<endl;
                } 
                else {if (Kat==3){cout <<"\n\t\t\tВы выбрали менеджера";
                cout <<"\n________________________________________________________________________";
                    cout <<"\n\n\tЧасы\n"<<endl<<'\t';
                    cin >>mas[0];
                    money[0] = mas[0] * 60;
                    cout <<"\nДеньги за часы"<<'\t'<<'\t'<<money[0]<<endl<<"__________________________________________________\n"<<endl;
                    cout <<"\nИТОГО__________________________________"; wcout<<famil<<'\t'<<money[0]<<'\n';
                    goto D;
                }}}
 
    
    
    
    //Виды работ, с разной оплатой. Однообразные вычисления.   
    cout <<"\tDVD 0-5\n"<<endl<<'\t';
    cin >>mas[1];
    money[1] = mas[1] * (0.8);
    cout <<"\nДеньги за DVD 0-5"<<'\t'<<money[1]<<endl<<"__________________________________________________\n"<<endl;
 
 
    cout <<"\tDVD 5-25\n"<<endl<<'\t';
    cin >>mas[2];
    money[2] = mas[2] * 0.6;
    cout <<"\nДеньги за DVD 5-25"<<'\t'<<money[2]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tDVD 25-\n"<<endl<<'\t';
    cin >>mas[3];
    money[3] = mas[3] * 0.4;
    cout <<"\nДеньги за DVD 25-"<<'\t'<<money[3]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tCD 0-5\n"<<endl<<'\t';
    cin >>mas[4];
    money[4] = mas[4] * 1;
    cout <<"\nДеньги за CD 0-5"<<'\t'<<money[4]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tCD 5-25\n"<<endl<<'\t';
    cin >>mas[5];
    money[5] = mas[5] * 0.7;
    cout <<"\nДеньги за CD 5-25"<<'\t'<<money[5]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tCD 25-\n"<<endl<<'\t';
    cin >>mas[6];
    money[6] = mas[6] * 0.5;
    cout <<"\nДеньги за CD 25-"<<'\t'<<money[6]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tГотовка 0-5\n"<<endl<<'\t';
    cin >>mas[7];
    money[7] = mas[7] * 0.4;
    cout <<"\nДеньги за Готовку 0-5"<<'\t'<<money[7]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tГотовка 5-25\n"<<endl<<'\t';
    cin >>mas[8];
    money[8] = mas[8] * 0.3;
    cout <<"\nДеньги за Готовку 5-25"<<'\t'<<money[8]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tГотовка 25-\n"<<endl<<'\t';
    cin >>mas[9];
    money[9] = mas[9] * 0.2;
    cout <<"\nДеньги за Готовку 25-"<<'\t'<<money[9]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tКражки\n"<<endl<<'\t';
    cin >>mas[10];
    money[10] = mas[10] * 0.1;
    cout <<"\nДеньги за Кражки"<<'\t'<<money[10]<<endl<<"__________________________________________________\n"<<endl;
 
    cout <<"\tРазбор\n"<<endl<<'\t';
    cin >>mas[11];
    money[11] = mas[11] * 0.9;
    cout <<"\nДеньги за Разбор"<<'\t'<<money[11]<<endl<<"__________________________________________________\n"<<endl;
 
    // Обклейка дисков, осуществляется на всё, кроме кражек и считается по цене 0.1
    int O;
    O = mas[1] + mas[2] + mas[3] + mas[4] + mas[5] + mas[6] + mas[11] + mas[7] + mas[8] + mas[9];
    cout <<"\nОбклейка\t"<<endl<<'\t'<<O<<endl;
    
    double MO;
    O = mas[1] + mas[2] + mas[3] + mas[4] + mas[5] + mas[6] + mas[11] + mas[7] + mas[8] + mas[9];
    MO = (mas[1] + mas[2] + mas[3] + mas[4] + mas[5] + mas[6] + mas[7] + mas[8] + mas[9] + mas[11]) * 0.1;
    cout <<"Деньги за обклейку"<<'\t'<<MO<<endl<<"__________________________________________________\n"<<endl;  
 
    //Сумма и фамилия
    double Sum;
 
    Sum = money[0] + money[1] + money[2] + money[3] + money[4] + money[5] + money[6] + MO + money[10] + money[11] + money[7] + money[8] + money[9];
    cout <<endl<<"ИТОГО___________________________________________________  "; wcout <<famil[i]<<"   "<<Sum<<endl<<endl;
    
    
 
 
D:; cout <<"Продолжить? Да=1/Нет=0"<<endl;
    cin >>A;
}while (A=='1');
    return 0;
}
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2011, 20:06
Ответы с готовыми решениями:

Создать класс EMPLOYEE, производный от класса PERSON и использовать их для вычисления зарплаты сотрудника
Базовый класс: ЧЕЛОВЕК (PERSON) Имя (name) – string Возраст (age) – int Создать производный класс EMPLOYEE, имеющий поля: ...

Создать класс EMPLOYEE, производный от класса PERSON и использовать их для вычисления зарплаты сотрудника
Базовый класс: ЧЕЛОВЕК (PERSON) Имя (name) – string Возраст (age) – int Создать производный класс EMPLOYEE, имеющий поля: ...

Программа для вычисления
Помогите, кто-нибудь: как написать программу С++ для вычисления представленного ниже задания.

1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
09.10.2011, 13:27
Цитата Сообщение от /\АбдуЛлах/\
Нужно организовать такой массив famil
используй вектор строк
похоже, тебе нужен вектор не строк, а структур, где каждая структура содержит информацию об одном человеке

Цитата Сообщение от /\АбдуЛлах/\
Немогу понять как разбить программу на функции
сначала переделай все goto на циклы
похоже, что у тебя меню с подменю
должна быть функция главного меню и функции каждого подменю
в функции каждого подменю свои действия
часто подменю должны иметь возможность передавать информацию друг другу
можно сделать структуру, которая передаётся в каждое подменю
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2011, 13:27
Помогаю со студенческими работами здесь

Программа для вычисления выражения y=2 lg (x)+5
Помогите пожалуйста написать программу для вычисления выражения y=2 lg (x)+5.x и y - вещественные числа.

Программа, для вычисления значения!
Помогите написать программу, вычисляющую значение выражения y=ctg(x), х - значение угла в градусах на языке Си. Заранее благодарен.

Программа для вычисления arctg(x)
народ, кто нибудь может объяснить что нужно сделать в этой программе?

Программа для вычисления выражений
A= min(sin x, min (y,x)) Max(x^y,y) (не использовать макрокоманд Max и Min)

Программа для вычисления факториала
Зравствуйте, помогите, пожалуйста, написать программу, которая вычисляет факториал введенного с клавиатуры положительного числа. Программа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru