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

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

Войти
Регистрация
Восстановить пароль
 
den-nokia
1 / 1 / 0
Регистрация: 26.04.2010
Сообщений: 31
#1

Создать класс Money для работы с денежными суммами - C++

01.06.2011, 14:01. Просмотров 729. Ответов 9
Метки нет (Все метки)

Проблемы с задачей, а точнее, её полное не понимание.

Создать класс Money для работы с денежными суммами. Число должно быть представлено двумя полями: типа long int для рублей и типа int - для копеек. Дробная часть (копейки) при выводе на экран должна быть отделена от целой части запятой. Реализовать сложение, вычитание, деление сумм, деление суммы на дробное число, умножение на дробное число и операцию сравнения.
Надеюсь на вашу помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2011, 14:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс Money для работы с денежными суммами (C++):

создать класс Money для работы с денежными суммами - C++
1. Определение класса. Оценивается полнота и корректность определения класса (объявление его полей и методов). Поля класса должны быть...

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

Создать структуру Money для работы с денежными суммами - C++
Люди, помогите, пожалуйста! Есть задача: Создать структуру Money для работы с денежными суммами. Число должно быть представлено двумя...

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

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

Создать базовый класс - Array и производный класс - Money для работы денежной суммы - C++
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

9
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
01.06.2011, 17:28 #2
Что конкретно не понимаете? В задании всё вроде ясно описано.
0
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
01.06.2011, 17:32 #3
есть такая книжка, В.В.Лаптев "объектно ориентированное программирование на С++". там эта (причем именно эта!) задача разжевана вдоль и поперёк. =)
0
den-nokia
1 / 1 / 0
Регистрация: 26.04.2010
Сообщений: 31
01.06.2011, 20:35  [ТС] #4
Цитата Сообщение от no0ker Посмотреть сообщение
есть такая книжка, В.В.Лаптев "объектно ориентированное программирование на С++". там эта (причем именно эта!) задача разжевана вдоль и поперёк. =)
Я наверно ищу плохо... что-то не нашел там такого
0
kjahert
49 / 49 / 5
Регистрация: 08.04.2011
Сообщений: 124
01.06.2011, 20:55 #5
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
#include <iostream>
#include <sstream>
using namespace std;
 
class CMoney
{
      long roubles;
      unsigned int copecks;
      float wholeSum;
      void splitUp()
      {
           roubles = (int)wholeSum;
           copecks = (int)((wholeSum - (int)wholeSum) * 100);
      };
      public:
             void get()
             {
                  cin >> wholeSum;
                  splitUp();
             };
             string show()
             {
                  stringstream out;
                  string str;
                  out << roubles << ",";
                  if (copecks < 10)
                  {
                              out << "0";
                  }
                  out << copecks;
                  str = out.str();
                  return str;
             };
             CMoney operator+ (CMoney arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum + arg.wholeSum;
                    temp.splitUp();
                    return temp;
             };
             CMoney operator- (CMoney arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum - arg.wholeSum;
                    temp.splitUp();
                    return temp;
             };
             float operator/ (CMoney arg)
             { 
                    float temp;
                    temp = this->wholeSum / arg.wholeSum;
                    return temp;
             };
             CMoney operator/ (float arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum / arg;
                    temp.splitUp();
                    return temp;
             };
             CMoney operator* (float arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum * arg;
                    temp.splitUp();
                    return temp;
             };
             bool operator== (CMoney arg)
             { return (this->wholeSum == arg.wholeSum); };
             bool operator!= (CMoney arg)
             { return (this->wholeSum != arg.wholeSum); };
             bool operator> (CMoney arg)
             { return (this->wholeSum > arg.wholeSum); };
             bool operator< (CMoney arg)
             { return (this->wholeSum < arg.wholeSum); };
             bool operator>= (CMoney arg)
             { return (this->wholeSum >= arg.wholeSum); };
             bool operator<= (CMoney arg)
             { return (this->wholeSum <= arg.wholeSum); };
};
0
den-nokia
1 / 1 / 0
Регистрация: 26.04.2010
Сообщений: 31
02.06.2011, 03:01  [ТС] #6
Цитата Сообщение от kjahert Посмотреть сообщение
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
#include <iostream>
#include <sstream>
using namespace std;
 
class CMoney
{
      long roubles;
      unsigned int copecks;
      float wholeSum;
      void splitUp()
      {
           roubles = (int)wholeSum;
           copecks = (int)((wholeSum - (int)wholeSum) * 100);
      };
      public:
             void get()
             {
                  cin >> wholeSum;
                  splitUp();
             };
             string show()
             {
                  stringstream out;
                  string str;
                  out << roubles << ",";
                  if (copecks < 10)
                  {
                              out << "0";
                  }
                  out << copecks;
                  str = out.str();
                  return str;
             };
             CMoney operator+ (CMoney arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum + arg.wholeSum;
                    temp.splitUp();
                    return temp;
             };
             CMoney operator- (CMoney arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum - arg.wholeSum;
                    temp.splitUp();
                    return temp;
             };
             float operator/ (CMoney arg)
             { 
                    float temp;
                    temp = this->wholeSum / arg.wholeSum;
                    return temp;
             };
             CMoney operator/ (float arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum / arg;
                    temp.splitUp();
                    return temp;
             };
             CMoney operator* (float arg)
             { 
                    CMoney temp;
                    temp.wholeSum = this->wholeSum * arg;
                    temp.splitUp();
                    return temp;
             };
             bool operator== (CMoney arg)
             { return (this->wholeSum == arg.wholeSum); };
             bool operator!= (CMoney arg)
             { return (this->wholeSum != arg.wholeSum); };
             bool operator> (CMoney arg)
             { return (this->wholeSum > arg.wholeSum); };
             bool operator< (CMoney arg)
             { return (this->wholeSum < arg.wholeSum); };
             bool operator>= (CMoney arg)
             { return (this->wholeSum >= arg.wholeSum); };
             bool operator<= (CMoney arg)
             { return (this->wholeSum <= arg.wholeSum); };
};
при компиляции ошибка:

error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
fatal error LNK1120: 1 неразрешенных внешних элементов
0
no0ker
02.06.2011, 07:52
  #7

Не по теме:

den-nokia, страница 19, первый абзац. =)

0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
02.06.2011, 07:58 #8
Цитата Сообщение от den-nokia Посмотреть сообщение
при компиляции ошибка:

error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
fatal error LNK1120: 1 неразрешенных внешних элементов
Создайте пустой проект, и скопируйте написанный для вас текст проги.
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
02.06.2011, 14:05 #9
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Создайте пустой проект, и скопируйте написанный для вас текст проги.
Всё равно не выйдет, функция main-то отсутствует))) О чём и говорит компилятор.
0
den-nokia
1 / 1 / 0
Регистрация: 26.04.2010
Сообщений: 31
02.06.2011, 16:55  [ТС] #10
Всё, спасибо всем. Разобрался, написал.
0
02.06.2011, 16:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 16:55
Привет! Вот еще темы с ответами:

Класс Money, перегрузка арифметических операций для работы с денежным форматом - C++
//Ñîçäàéòå êëàññ Money, â êîòîðîì ïåðåãðóçèòå àðèôìåòè÷åñêèå //îïåðàöèè äëÿ ðàáîòû ñ äåíåæíûì ôîðìàòîì. Ïåðåãðóçèòå äâà îïåðàòîðà ...

Создать класс Money - C++
Задача: Создать класс Money для работы с денежными суммами.Число должно быть представлено двумя полями: типом long для рублей и типом...

Создать класс Money - C++
Создать класс Money, содержащий следующие члены класса: 1. Поля: int nominal - номинал купюры int amount - количество купюр 2....

Создать класс Money - C++
здравствуйте, нужно создать мини программку,на с++. Я учусь на первом курсе, к сожалению не очень сильно понимаю программирование, буду...


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

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

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