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

Создать класс Money - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заданное множество точек на плоскости. Найти выпуклую оболочку этого множества http://www.cyberforum.ru/cpp-beginners/thread1125054.html
Заданное множество точек на плоскости. Найти выпуклую оболочку этого множества, то есть выпуклый многоугольник с вершинами в некоторых точках этого множества, охватывающий все точки. Если честно даже не представляю как ее делать, помогите пожалуйста.
C++ Нужно считать данные из файла и заменить определенный текст на заданный Есть файл с таким содержимым: (в нем записаны вещ. числа) Пример: 1.000 1.111 2.222 3.333 4.444 5.555 6.555 4.333 3.333 4.444 6.666 7.777 Нужно заметить, что 1.000 1.111 - это в рамках моей программы ОДНО число (и также это один столбец, а вовсе не два!). Часть 1.000 я записываю в экземпляр структуры One (см.ниже), часть 1.111 в Two. (!) Кроме того, таких чисел может быть уйма, однако... http://www.cyberforum.ru/cpp-beginners/thread1125052.html
С чего начинать изучение C++. Книги C++
Прошу совета опытных людей. С чего начать учить С++ ? С какой книги будет легче стартануть ?
Длинная арифметика C++
Вот изучаю с++ попробывал написать длинную арифметику, но не сложение не деление которое мне необходимо не работает помогите найти ошибку в моем коде пожалуйста ;D зарание спасибо #include <iostream> using namespace std; void StrToMasiv(string S, int T) { int i, n; n=S.size();
C++ Поправить код непростой программы http://www.cyberforum.ru/cpp-beginners/thread1125047.html
Здравствуйте. Написал код для вычисления интеграла методом средних прямоугольников, а он не работает. Очень прошу помочь #include "stdafx.h" #include <iostream> #include <iomanip> #include <math.h> #include <conio.h> using namespace std; double fun(double); //прототип функции, которая передаёт имя функции в качестве параметра double f1(double x)
C++ Программа с виртуальной функцией Сгенерируйте абстрактный класс типа фигура, создайте производные от него классы типа треугольник, шестиугольник. В классах должны быть реализованы следующие методы: Конструкторы Деструкторы Метод отображения (выводит координаты на экран) - виртуальная функция. Помогите написать вот такую программу. Добавлено через 21 час 27 минут Есть какие нибудь идеи? подробнее

Показать сообщение отдельно
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
05.04.2014, 15:56     Создать класс Money
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
#include<iostream>
#include<string>
#include<sstream>
#include<cmath>
#include <iostream>
#include <iomanip>
#include <limits> 
 
using namespace std;
const int dcup[14]={500000,100000,50000,10000,5000,1000,500,200,100,50,10,5,2,1};
 
class money
{
private:
int fullcopecs;
 
 
public:
 std::string toString() const;
    money() {fullcopecs=0;}
    money(unsigned int a){fullcopecs=a;}
    money(unsigned int r, unsigned int c){fullcopecs=r*100+c;}
    friend istream &operator >>(istream &in,money &A); //Ввод
    friend ostream &operator <<(ostream &out,money A);  //Вывода
    friend money operator+(money A,money B);   //Сложение
    friend money operator-(money A,money B);   //Вычитание
    friend int operator/(money A,money B); //Если делишь кучку денег на кучку денег, то по идеи должно получиться число кучек (а не новая кучка)
    friend money operator/(money A,int B); //Если делишь кучку денег на число кучек, то по идеи должна получиться новая кучка
    string operator!();  //в строку
    const int* GetCup ();
    //money add(money& other);
 
};
 
 
using namespace std;
 
 //Вводим данные
istream &operator>>(istream &in,money &A) {
    unsigned int roubles, copecks;
    in >>roubles >> copecks;
    A.fullcopecs =roubles*100+copecks;
    return in;
}
//Выводим
ostream &operator<<(ostream &out, money A) 
{
    unsigned int roubles, copecks;
    roubles=A.fullcopecs/100;
    copecks=A.fullcopecs%100;
    out<<"Roubles: "<< roubles <<"; Copecks: "<<copecks<<endl;
    return out;
 
}
    //Складываем
money operator+(money B, money A)
{ 
    money temp;
    temp.fullcopecs =A.fullcopecs+B.fullcopecs; 
    return temp;
}
 
             //Вычитаем
money operator-(money A, money B)
{
    money temp;
    temp.fullcopecs= A.fullcopecs-B.fullcopecs; 
    return temp; 
}
 
 
string money::toString() const 
{
    ostringstream oss;
    unsigned int roubles, copecks;
    roubles=fullcopecs/100;
    copecks=fullcopecs%100;
    oss<<"Roubles: "<<roubles<<"; Copecks: "<<copecks<<endl;
    return oss.str();
}
const int* money::GetCup ()
{
int *cup=new int[14];
int fc;
fc=fullcopecs;
for (int i=0;i<13;++i)
{
    cup[i]=fc/dcup[i];
    fc-=cup[i]*dcup[i];
}
cup[14]=fc;
return cup;
}
 
 
            //Делим
int operator/(money A, money B)
{   
    unsigned int temp=0;
    if(B.fullcopecs!=0) temp=A.fullcopecs /B.fullcopecs;
    return temp;
}
 
money operator/(money A, int B)
{   
    money temp;
    if(B!=0) temp.fullcopecs =A.fullcopecs/B;
    return temp;
}
 
int main()
{
    money A, B;
 
        cout << "\nEnter first summ in format 'roubles'.'copecks':\t";
        cin >> A;
      cout << "Enter second summ in format 'roubles'.'copecks'':\t";
        cin >> B;
        cout << "Sum:\t\t" << (A+B) << endl;
        cout << "Raznost:\t\t" << ( A - B ) <<endl;
        cout << "Delenien:\t\t" << ( A / B ) <<" chasti" << endl;
        cout << "Delenien na 4 chasti:\t\t" << ( A / 4 ) <<" chasti" << endl;
        cout << " to str: " << A.toString() << endl;
        const int *cup;
        cup=A.GetCup();
        cout << A<<" Moget bit' slogena iz:"<<endl;
        for (int i=0; i<14;i++)
        {
            if (cup[i]>0)
            {
                if (dcup[i]>=100) 
                    cout<<cup[i]<<" kupur po "<<dcup[i]/100<<" rubley"<< endl; 
                else 
                    cout<<cup[i]<<" monet po "<<dcup[i]<<" kop."<< endl;
 
            }
        }
        system ("pause");
 
       return 0;
}
Это нужно?

Добавлено через 15 минут
Цитата Сообщение от Slight Посмотреть сообщение
как я должен переписать конструктор, чтобы представить сумму данным образом?
Хотя я вообще не понял это... Я лишь переделал класс чтоб он говорил как эту сумму собрать
 
Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru