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

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

Войти
Регистрация
Восстановить пароль
 
A0A
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
#1

Класс, для полей которого нужно использовать класс - C++

22.12.2013, 20:17. Просмотров 433. Ответов 3
Метки нет (Все метки)

Создайте класс Payment, используя для представления полей начислениq и удержаниq класс Money.
...
Класс Money используется для работы с денежными суммами. Число представляется двумя полями: типа long для рублей и unsigned char для копеек. Дробная часть (копейки) при выводе на экран должна быть отеделена от целой части запятой. Реализуйте операции сложения, вычитания, деления сумм, суммы на дробное число, умножение на дробное число и операции сравнения.
Нужно помочь с этой частью, ну и проблемка - char для ФИО не переваривает пробелы.

C++ (Qt)
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
 
class payment
{
 
 public:    char fio[30]; //Фио
    float oklad; //оклад
    int year; //год поступления на работу
    float procent; //процент надбавки
    float nalog; //подоходный налог
    int rab_day_month; //кол-во отработанных дней
    float day_month; //кол-во рабочих дней
    float nach_summ; //начисленная сумма
    float yder_summ; //удержанная сумма
    float stag; //стаж (полное кол-во лет)
    float zp; //зарплата
 
    float vichisl_nach_summ();
    float vichisl_yder_summ();
    float vichisl_zp();float vichisl_stag();
 
};
class Money{
public:
long roubles;
unsigned char kop;}
float payment::vichisl_nach_summ(){return (oklad*rab_day_month+oklad*rab_day_month*procent/100);}
float payment::vichisl_yder_summ(){return ((oklad*rab_day_month+oklad*rab_day_month*procent/100)*0.01+(oklad*rab_day_month+oklad*rab_day_month*procent/100)*0.13);}
float payment::vichisl_zp(){return ((oklad*rab_day_month+oklad*rab_day_month*procent/100)-((oklad*rab_day_month+oklad*rab_day_month*procent/100)*0.01+(oklad*rab_day_month+oklad*rab_day_month*procent/100)*0.13));}
float payment::vichisl_stag(){return (2013-year);}
 
void main(){
 payment* f=new payment();
 setlocale (LC_ALL, "russian");
cout<<"Введите фамилию, имя и отчество сотрудника - ";
cin>>f->fio;
cout<<"Введите оклад сотрудника  - \n";
cin>>f->oklad;
cout<<"Введите год поступления сотрудника на работу - \n";
cin>>f->year;
cout<<"Введите процент надбавки - \n";
cin>>f->procent;
cout <<"Введите кол-во отработанных дней - \n";
cin>>f->rab_day_month;
cout<<"Начисленная сумма составляет: "<<f->vichisl_nach_summ()
<<"\n";
cout<<"Удержанная сумма составляет: "<<f->vichisl_yder_summ()<<"\n";
cout<<"Итоговая сумма выплаты "<<f->vichisl_zp()<<"\n";
cout<<"Стаж : "<<f->vichisl_stag()<<"\n";
delete f;
getch();}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс, для полей которого нужно использовать класс (C++):

Создать класс, одно из полей которого хранит порядковый номер объекта - C++
Создайте класс, одно из полей которого хранит &quot;порядковый номер&quot; объекта, то есть для первого созданного объхекта значение этого поля равно...

Реализовать класс "Матрица", в качестве внутреннего представления которого использовать одномерный массив - C++
Здравствуйте, нужно реализовать класс матриц как один массив, в котором подряд идут элементы всех строк (+ можно индексы начала строк). ...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { friend class diagonal; ...

Написать класс для реализации полей Галуа - C++
Здравствуйте! Нужно реализовать поля Галуа GF (2^n). 1. Запросить у пользователя ввести число n. 2. Представить результат в виде...

Создать класс, описание которого представлено в вариантах для работы - C++
Поможыть пліз з лабой!!!!!!!!! 1. Створити проект, який містить консольну програму Win32. 2. Створити клас опис якого подано у...

Реализовать класс ModelWindow, добавив поле для курсора, используя для представления поля класс Cursor - C++
Реализовать класс ModelWindow, добавив поле для курсора. Используйте для представления поля класс Cursor. (это под типом класс в классе).

3
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
22.12.2013, 21:40 #2
Цитата Сообщение от A0A Посмотреть сообщение
char для ФИО не переваривает пробелы.
Цитата Сообщение от "A0A;5540477"[CPP
]cout<<"Введите фамилию, имя и отчество сотрудника - ";
cin>>f->fio;[/CPP]
Это "cin >>" не переваривает пробелы. Но с помощью функции getline() мы это исправим))

C++
1
2
cout<<"Введите фамилию, имя и отчество сотрудника - ";
cin.getline(f->fio, 30);
0
A0A
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 36
23.12.2013, 21:42  [ТС] #3
А что с классом Money?

Добавлено через 11 часов 16 минут
Может кто-нибудь помочь?

Добавлено через 4 часа 13 минут
???
0
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
24.12.2013, 08:09 #4
Вот две операции сравнения для класса Money.Сравнение рублей и копеек двух объектов
C++
1
2
3
4
5
6
class Money
{
public:
    bool operator==(const Money &r) { return roubles==r.roubles && kop==r.kop; }
    bool operator!=(const Money &r) { return !(*this==r); }
}
0
24.12.2013, 08:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2013, 08:09
Привет! Вот еще темы с ответами:

Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад - C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами - C++
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все равно не знаю, как его здесь применить. Как...

Реализовать класс Goods используя для представления цены класс Money - C++
Реализовать класс Goods (пункт 1 ), используя для представления цены класс Money с пункта 2 Реализовать метод уценки товара, уменьшая цену...

Класс домов и класс улиц для учета поступлений квартплаты. Массив - C++
Задание: вырезано Файл StdAfx.h #pragma once #include &quot;targetver.h&quot; #include &lt;stdio.h&gt;


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

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

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