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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Dimitrius93
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
#1

Класс decimal - C++

24.05.2011, 12:38. Просмотров 2117. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Имеется следующее задание:
Создать класс Decimal для работы с беззнаковыми целыми
десятичными числами, используя для представления числа
массив из 100 элементов типа unsigned char, каждый из которых
является десятичной цифрой. Младшая цифра имеет меньший
индекс (единицы в нулевом элементе массива). Реальный размер
массива задается как аргумент конструктора инициализации.

Помогите пожалуйста написать конструктор инициализации для данного класса, тот что я написал инициализирует член класса какой-то абракадаброй если пытаюсь инициализировать так
C++
1
2
char mass[20]="1234567891012345678";
decimal test(mass);
или вообще какой-то пустотой если пытаюсь инициализировать так
C++
1
decimal test("1234567891012345678");
=(
Выглядит он так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
class decimal
{
private:
unsigned char dec[100];
public:
    decimal(char get[])
    {
        int size=0;
        for(;*get;size++,get++){}
        for(int i=0;i<size;i++)
        dec[size-i]=get[i];
    }
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2011, 12:38     Класс decimal
Посмотрите здесь:

Написать функции для преобразования IP адреса из dot-decimal нотации в int и из int в dot-decimal нотацию - C++
IP-адрес - это четверка a.b.c.d, где a, b, c, d целые числа из интервала . Требуется написать функции encode и decode: unsigned int...

C++ & Mysql не хочет работать с decimal - C++
Хочу найти строку в таблице где decimal = 0.01 Если я делаю что то вроде: pstmt-&gt;setDouble(1, ver); где float ver = 0.01f; то он...

uint32_t this decimal constant is unsigned only in ISO C90 - C++
Пишу так: uint32_t i=2147483648; Компилятор выдает: this decimal constant is unsigned only in ISO C90 И работает как со знаковой...

Input a 7-digit integer containing only 0s and 1s and print its decimal equivalent - C++
. Input a 7-digit integer containing only 0s and 1s (i.e., a &quot;binary&quot; integer) and print its decimal equivalent. Use the modulus and...

Существует ли функция, которая из Decimal формата переводила бы в Binary - C++
Существует ли функция . которая из Decimal формата переводила бы в Binary ?)

Класс создающий другой класс (ошибка) - C++
Начал писать прогу, суть в том, что один класс должен создавать группу объектов другого класса, написал один класс - работало, а во втором...

Класс двумерная точка и класс многоугольник - C++
Всем привет Ну с двумерной точкой всё более- менее ясно. Вот набросок class DOT2 { int x, y; public: DOT2* next;

Класс строка, класс текст, агрегация - C++
12. Текст (2 класса: строка, текст находятся в отношении агрегации) Конструкторы: по умолчанию, с параметрами и копирования. ...

Класс данных, класс сортировок - C++
#include &lt;stdexcept&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;Windows.h&gt; #include &lt;iomanip.h&gt; using namespace std; ...

Класс "Товар" и класс-контейнер - C++
Есть класс товары.Для сохранения данных нужно создать еще 1 класс. Как создать функцию сортировки например по названию. ПОтому что такую ...

Ошибка Cannot convert from 'ref decimal' to 'ref decimal? - C#
Здравствуйте подскажите пожалуйста почему в строке this.allTuriPoCeneTableAdapter.FillBy(this.turfirmaDataSet.AllTuriPoCene, ref Cena); ...

Decimal - C#
здравствуйте. Читаю книгу &quot;Полное руководство C# 4.0&quot; Г. Шилдт. На 78 странице автор пишет: &quot;Для вывода денежных сумм,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
24.05.2011, 13:32     Класс decimal #2
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
#include<iostream>
 
using namespace std;
 
class decimal
{
private:
    unsigned char dec[100];
    size_t size;
public:
    decimal(char* get)
    {
        size = strlen(get);
        for(int i = size-1;i>=0;i--,get++)
        {
            dec[i] = *get-'0';// или просто dec[i] = *get;
        }
    }
};
 
int main()
{
    decimal a = "10004";
 
    return 0;
}
Dimitrius93
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
24.05.2011, 14:17  [ТС]     Класс decimal #3
О, стоило убрать '0' и все заработало как надо. Спасибо огромное!!!
Yandex
Объявления
24.05.2011, 14:17     Класс decimal
Ответ Создать тему
Опции темы

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