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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
/\АбдуЛлах/\
Сообщений: n/a
08.10.2011, 20:06     Программа для вычисления Зарплаты #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     Программа для вычисления Зарплаты
Посмотрите здесь:

Программа для вычисления выражения y=2 lg (x)+5 C++
Программа, для вычисления значения! C++
Программа для вычисления функции C++
Программа для вычисления выражений C++
C++ Программа для вычисления arctg(x)
C++ Программа для вычисления значения
C++ Программа для вычисления факториала
C++ Программа для вычисления суммы

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

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

Цитата Сообщение от /\АбдуЛлах/\
Немогу понять как разбить программу на функции
сначала переделай все goto на циклы
похоже, что у тебя меню с подменю
должна быть функция главного меню и функции каждого подменю
в функции каждого подменю свои действия
часто подменю должны иметь возможность передавать информацию друг другу
можно сделать структуру, которая передаётся в каждое подменю
Yandex
Объявления
09.10.2011, 13:27     Программа для вычисления Зарплаты
Ответ Создать тему
Опции темы

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