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

Разбор полётов. Класс десятичное большое число - C++

Восстановить пароль Регистрация
 
Dummy_1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 59
06.02.2013, 22:26     Разбор полётов. Класс десятичное большое число #1
Код:
Кликните здесь для просмотра всего текста
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
# include <iostream>
using namespace std;
 
class bigfig
{
    char fig[50];
    int length;
public:
    bigfig(char* f); //конструктор
        int bigfig :: getL() { return length; }
    void getfig(); // временный вывод, в дальнейшем перегружу <<
    long aley_op (bigfig b); // самодельный и кривой  atol() нужен для перегрузки + 
    friend bigfig operator+(bigfig b1, bigfig b2); // перегрузка + пока прототип
    bigfig &operator= (bigfig &b);  
};
 
 
bigfig :: bigfig (char* f){
    int n;
    n=strlen(f);
    length=n;
    for (int i = 0; i < n; ++i)
    {
        fig[i]=f[i];
    }
}
 
void bigfig :: getfig(){
    int i=0;
    do
    {
        cout<<fig[i];
        ++i;
    } while (fig[i]!=0);
    cout<<endl;
}
 
long bigfig :: aley_op(bigfig b){
    int j=0;
    int k=b.getL();
    long res=0;
    do
    {
        res=res+fig[k]*pow(10,j);
        --k; ++j;
    } while (k!=0);
    return res;
}
 
int main(int argc, char const *argv[])
{
    setlocale(LC_ALL, "rus");
    bigfig b1 ("3215564684654212354876554132135410000"), 
    b2 ("213254546542123542354");
    b1.getfig(); 
    b2.getfig(); 
    
    cin.get(); cin.ignore();
    return 0;
}


Не понятно несколько вещей:
1) почему нельзя создать объект вот так
C++
1
bigfig b;
при наличии вот этого:
C++
1
2
3
4
5
bigfig :: bigfig (){
    for (int i=0; i<50; ++i){
         fig[i]=0;
    }
}
2)сказано нужно хранить числа в прямом коде, какой тип для него нужен(целое/длинное)? переменная или массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 22:26     Разбор полётов. Класс десятичное большое число
Посмотрите здесь:

C++ Найти десятичное число
Разбить десятичное число на разряды C++
C++ Десятичное число к двоичному
C++ Не получается вставить десятичное число
find_first_of, разбор полётов C++
C++ Двоичное число перевести в десятичное
Преобразовать десятичное число в число с заданным основанием C++
Создать класс, который считывает десятичное число и печатает его 2-ый, 8-ый и 16-ый эквивалент C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.02.2013, 12:18     Разбор полётов. Класс десятичное большое число #2
Dummy_1, я не вижу в вашем коде конструктора по умолчанию (вижу, что вы его отдельно привели, в самом коде, и главное, в объявлении класса, его нет).
Yandex
Объявления
11.02.2013, 12:18     Разбор полётов. Класс десятичное большое число
Ответ Создать тему
Опции темы

Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru