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

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

Войти
Регистрация
Восстановить пароль
 
BlackScorpioNnn
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 12
#1

.Создать класс Binary1, который будет содержать число в двоичной системе - C++

17.06.2013, 17:44. Просмотров 642. Ответов 1
Метки нет (Все метки)

1.Поле first – целое число, целая часть числа, записанного в восьмеричной системе счисления; поле second – положительное целое число, дробная часть числа, записанного в восьмеричной системе счисле-ния. Реализовать метод add8( ) – сложение чисел в восьмеричной системе.
2.Создать класс Binary1, который будет содержать число в двоичной системе (в отдельном поле – целая часть, в другом поле – дробная часть). Разработайте методы для ввода двоичных чисел (с дробной частью!), вывода двоичных чисел, методы для вычисления суммы и произведения двоичных чисел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 17:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос .Создать класс Binary1, который будет содержать число в двоичной системе (C++):

Создать класс Tiles (кафель), который будет содержать поля с открытым доступом - C++
Создать класс Tiles (кафель), который будет содержать поля с открытым доступом: brand, size_h, size_w, price и метод класса getData (). В...

Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах - C++
Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах. Для хранения координат используйте три...

Создать класс с именем ship, который будет содержать данные об учетном номере корабля и его координатах - C++
Создайте класс с именем ship, который будет содержать данные об учетном номере корабля и координатах его расположения. Для задания номера...

Создайте класс Student, который будет содержать информацию о студенте - C++
1. Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования, реализуйте класс...

Создайте класс Student, который будет содержать информацию о студенте - C++
Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования, реализуйте класс Aspirant...

Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины - C++
Создайте класс Passport (паспорт), который будет содержать паспортную информацию о гражданине Украины. С помощью механизма наследования,...

1
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
17.06.2013, 20:32 #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
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
#include <iostream>
#include <cstring>
 
class Oct;
std::ostream& operator<<(std::ostream &, const Oct &);
 
class Oct
{
    int first;
    unsigned second;
 
public:
    struct Bad_value {}; // for errors;
 
    Oct();
    Oct(const char * v);
 
    Oct& operator+=(const Oct &);
    friend std::ostream& operator<<(std::ostream &, const Oct &);
};
 
Oct::Oct() : first(0), second(0) {}
 
Oct::Oct(const char * v)
{
    if (strlen(v) < 3 || v[0] != '0' || v[1] != 'o')
    {
        throw Bad_value();
    }
 
    for (size_t i = 2; i < strlen(v); ++i)
    {
        if (v[i] == '.')
        {
            ++i;
            if (++i != strlen(v))
            {
                throw Bad_value();
            }
        }
    }
 
    first = second = 0;
 
    bool it_first = true;
    for (size_t index = 2; index < strlen(v); ++index)
    {
        switch (v[index])
        {
        case '0':   case '1':   case '2':    case '3':
        case '4':   case '5':   case '6':    case '7':
            if (it_first)
            {
                first = first * 10 + v[index] - '0';
            }
            else
            {
                second = second * 10 + v[index] - '0';
            }
            break;
        case '.':
            it_first = false;
            continue;
        default:
            throw Bad_value();
        }
    }
}
 
Oct& Oct::operator+=(const Oct & rhs)
{
    first += rhs.first;
    second += rhs.second;
 
    while (7 < second)
    {
        if (!(first % 7))
        {
            first += 3;
        }
        else
        {
            ++first;
        }
        second = second % 8;
    }
 
    return *this;
}
 
/********* non class operators *********/
 
std::ostream& operator<<(std::ostream &stream, const Oct &rhs)
{
    if (rhs.first < 0)
    {
        stream << "-0o" << -rhs.first << '.' << rhs.second;
    }
    else
    {
        stream << "0o" << rhs.first << '.' << rhs.second;
    }
    return stream;
}
 
Oct operator+(const Oct& lhs, const Oct& rhs)
{
    Oct obj;
    obj += lhs;
    obj += rhs;
    return obj;
}
 
/************* main() *************/
 
int main()
{
    for ( ; ; )
    {
        try
        {
            Oct a = "0o7.3";
            Oct b = "0o7.5";
            std::cout << "a + b = " << (a + b) << std::endl;
            std::cout << "b + a + a = " << (b + a + a) << std::endl;
            Oct c = b + b;
            std::cout << "c = b + b = " << c << std::endl;
            break;
        }
        catch (Oct::Bad_value)
        {
            continue;
        }
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 20:32
Привет! Вот еще темы с ответами:

Как реализовать класс Pricelist, который будет содержать динамический массив объектов Model - C++
Мне нужно создать динамический массив объектов другого класса. Тоесть в Pricelist будет массив объектов, а сами модельки он будет брать из...

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

Из элементов создать новый, который будет содержать товары, изготовленные фирмой Sony - C++
плиз, кто может решить? сам я их сделал, поидее должны работать, но выдает ошибку. смотрел-смотрел, но ошибку не нашел:) щас не дома, сам...

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


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

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

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