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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
/\АбдуЛлах/\
Сообщений: n/a
#1

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

08.10.2011, 20:06. Просмотров 1304. Ответов 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;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 20:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа для вычисления Зарплаты (C++):

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

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

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

Программа для вычисления функции - C++
Состивить программу для вычисления функции y\begin{cases}a{x}^{2}+b\sqrt{x}+c &amp; \text{ if } x=&gt; 5 \\ \pi \arcsin x &amp; \text{ if }...

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

Программа для вычисления суммы - C++
S=1+3+5+7+ ., всего n слагаемых; n вводится с клавиатуры. Вычислить суму.

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

Цитата Сообщение от /\АбдуЛлах/\
Немогу понять как разбить программу на функции
сначала переделай все goto на циклы
похоже, что у тебя меню с подменю
должна быть функция главного меню и функции каждого подменю
в функции каждого подменю свои действия
часто подменю должны иметь возможность передавать информацию друг другу
можно сделать структуру, которая передаётся в каждое подменю
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2011, 13:27
Привет! Вот еще темы с ответами:

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

Программа для вычисления значения e^x - C++
Написать программу, которая вычисляет значение e^x. e^x = 1 + x / 1! + x^2 / 2! + x ^ 3 / 3! + ... Попросите пользователя ввести...

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

Программа для вычисления формулы: - C++
Помогите написать программу по следующей формуле: Где h,g,d - константы h = 0,8 g = 9,8 d = 0,34


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

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

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