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

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

Войти
Регистрация
Восстановить пароль
 
Dummy_1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 59
#1

объясните задание. не понимаю формулировку - C++

06.02.2013, 18:06. Просмотров 288. Ответов 4
Метки нет (Все метки)

вот собственно оно:

Кликните здесь для просмотра всего текста
1. Разработать класс "большое десятичное число" в соответствии со следующим заданием:
Состояние класса -
Целое число определяется его длиной (количество цифр в числе, например, до 47) и массивом значений десятичных цифр (типа char). Число со знаком хранится в прямом коде. При выполнении арифметических операций использовать дополнительный код. Память под массив выделяется статически, во время компиляции, и задается массивом фиксированного предельного размера.
Протокол класса -
Определяет возможности создания и инициализации экземпляров класса и правила их использования (методы класса).
Предусмотреть следующие возможности:
• пустой конструктор для инициализации экземпляров и массивов экземпляров класса по умолчанию;
• создание экземпляров класса с инициализацией значением целого длинного (типа long);
• создание экземпляров класса с инициализацией значением числа как строки символов;
• ввод экземпляров класса из входного потока и вывод их значений в выходной поток
(с помощью перегруженных операторов >> и << );
• получение дополнительного кода числа ((*) с помощью перегруженного оператора ~ );
• выполнение операций сложения и вычитания чисел с учетом знаков чисел (с помощью перегруженных операторов + и - );
• выполнение операции “уменьшения числа в десять раз” (деление на 10 нацело);
• выполнение операции “увеличения числа в десять раз”.
2. Проектирование класса рекомендуется начать с представления состояния класса, учитывающего заданные операции, а затем реализации конструкторов и перегруженного оператора вывода. Для отладки и исчерпывающего тестирования других методов разработанного класса реализовать диалоговую программу, которая позволяет вводить параметры, отлаживаемых методов. Для обработки ошибочных ситуаций использовать механизм исключительных ситуаций.
3. Повторить разработку класса при условии, что память под массив необходимой длины выделяется динамически, во время выполнения программы (с помощью оператора new; память задается указателем на char в состоянии класса).
Дополнить интерфейс класса следующими возможностями:
• создание экземпляра класса с его инициализацией другим экземпляром класса (копирующий конструктор);
• переопределение экземпляра класса (с помощью перегруженного оператора присваивания).
4. Написать прикладную программу, использующую разработанный класс.


объясните следующее:

1. Что означает вот это:
"Число со знаком хранится в прямом коде. При выполнении арифметических операций использовать дополнительный код."
где про это почитать, если долго объяснять.

2. Что такое механизм исключительных ситуаций?
я немного читал про него но не совсем въехал как он работает(

Жду ваших ответов.
Всё, пошёл кодить)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос объясните задание. не понимаю формулировку (C++):

Объясните задание - C++
Задание: Нужно объявить двумерную матрицу не как динамический массива, а через структуру вот пример struct TRow { int m; double...

Объясните пожалуйста в чем заключается задание - C++
Вот задание: Добавьте в состав класса виртуальную функцию просмотра текущего объекта print (), а в производный класс Dancer_l -...

Помогите понять формулировку - C++
Объясните пожалуйста суть задания. С языком С не знаком. Только не не большие знания С++ Строки данного класса строятся по правилам...

не понимаю формулировку - Delphi
Подскажите что надо найти в этой задаче. Мне дали вариант и список задач и мне попалась вот эта задача: Подсчитать количество...

Не понимаю формулировку задачи - C#
Задание. Предыдущее задание с формулировкой суммы. Построить синтаксический анализатор для понятия сумма: сумма ::=...

Объясните не понимаю как это работает - Turbo Pascal
Мне нужно написать программу на турбо паскале\фри паскале, но это программа должна быть в болокнотовском файле с названием input, а затем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
06.02.2013, 18:28 #2
Цитата Сообщение от Dummy_1 Посмотреть сообщение
Что такое механизм исключительных ситуаций?
http://valera.asf.ru/cpp/book/c11.html
Dummy_1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 59
06.02.2013, 19:30  [ТС] #3
Вот если мне кто-нибудь про прямой и дополнительный код объяснит, то будет совсем хорошо)

Добавлено через 49 минут
где косяк?
не перегружается конструктор =(

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
# include <iostream>
# include <string>
using namespace std;
 
class bigfig
{
    char fig[50];
public:
    bigfig(char* f);
    bigfig();
    void getfig();
};
 
bigfig :: bigfig (){
    for (int i=0; i<50; ++i){
         fig[i]=0;
    }
}
 
bigfig :: bigfig (char* f){
    cout<<"ГђГ*áîòГ* ГЄГ®Г*ñòðóêòîðГ*\n";
    int n;
    n=strlen(f);
    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;
}
 
int main(int argc, char const *argv[])
{
    setlocale(LC_ALL, "rus");
    bigfig b1 ("3215564684654212354876554132135410000"), 
    b2 ("213254546542123542354");
    b1.getfig();
    b2.getfig();
    bigfig b3();
    b3=b1+b2;
    b3.getfig();
    cin.get(); cin.ignore();
    return 0;
}
не создаётся б3. что не так?

Добавлено через 3 минуты
на 49ю не обращайте внимания я знаю, почему не работает - т.к. "+" не переопределён
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
06.02.2013, 20:55 #4
Цитата Сообщение от Dummy_1 Посмотреть сообщение
Вот если мне кто-нибудь про прямой и дополнительный код объяснит, то будет совсем хорошо)
Дополнительный код (представление числа)
Dummy_1
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 59
06.02.2013, 21:51  [ТС] #5
стоп. а как в доп. код преобразовать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2013, 21:51
Привет! Вот еще темы с ответами:

не понимаю как построить график, объясните пож-та - Механика
На шар, лежащий на гладкой горизонтальной поверхности, налетает другой шар такого же радиуса, движущийся горизонтально. Между шарами...

Немного не понимаю задание - C#
Реализовать программу монитор, отслеживающую состояние заданного при запуске каталога и выполняющего над новыми файлами некие действия....

Не понимаю, как такие ответы получились, объясните пожалуйста - Дискретная математика
Задание: Пусть отношения U, V С R x R определены указанным ниже способом U = {(х,у) : у = х^2 + 5)} и V = {(х,у) : у = Зх}. а)...

кто может помочь с комментариями... невсё понимаю... объясните пожалуйста - JavaScript
кто может помочь с комментариями... невсё понимаю... объясните пожалуйста &lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; // Заголовок страницы (h1) ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.02.2013, 21:51
Ответ Создать тему
Опции темы

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