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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функция system() http://www.cyberforum.ru/cpp-beginners/thread20665.html
Собственно, есть такая стандартная функция system(), она определена в stdlib.h и её прототип int system(const char *str); Краткое описание: Функция system() передает строку, адресуемую параметром str, в качестве команды для командного процессора операционной системы. Если функция system() вызывается с нулевым указателем, она возвращает ненулевое значение при условии доступности командного...
C++ Задача с указателями Здравствуйте. У меня проблема: никак не могу понять эти указатели:-|. Есть задача: пользователь вводит слово. затем, если число букв чётное - удаляем 2 центральных символа; если не чётное - то, соответственно, 1 центральный символ. Затем просто выводим результат. Если брать слово как буквенный массив, то проблемы никакой (просто двигаем индекс букв). НО нужно двигать именно указатель. Помогите... http://www.cyberforum.ru/cpp-beginners/thread20649.html
Программа для построения на изображении линий, квадратов C++
Нужна программа для построения на изображении линий, квадратов (граф примитивов)Ю или литература как это реализовать. Заранее спасибо.
Вызов функций через таблицу прерываний C++
Уважаемые участники форума cyberforum.ru, очень нужна ваша помощь. Столкнулся с такой вот проблемой: написал класс обработки 64-битных чисел со знаком с применением функций состоящих из ассемблерных вставок. Заменил вызовы этих функций на вызовы через таблицу векторов прерываний. В функции класса Converting(char*): int AsmBinNum::Converting(char* line) { int i; //--------------- length =...
C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале http://www.cyberforum.ru/cpp-beginners/thread20621.html
Помогите решить 6 задачек,на носу экзамен,12того((((:'( 1. Даны 2 действительных числа.Удвоить первое число, если оно меньше второго, в остальных случаях оставить числа без изменения. 2. Найти сумму всех четных чисел в диапазоне от 1 до 40. 3. Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. ax^2+b при х < 0...
C++ Определить размер файла в С++ Есть ли функция для определения размера файла в С++, как скажем в Delphi или Pascal функция FileSize(var F: file)? подробнее

Показать сообщение отдельно
Jabberwock
3 / 3 / 1
Регистрация: 05.01.2009
Сообщений: 23
11.01.2009, 17:44
Почему бы и не написать? Мне вот самому интересно =).

Добавлено через 1 час 12 минут 32 секунды
Число копеек представлено не через unsigned char, а через int.

В итоге получился быдлокод следующего содержания:

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