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

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

Войти
Регистрация
Восстановить пароль
 
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
#1

Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») - C++

20.06.2013, 19:17. Просмотров 640. Ответов 14
Метки нет (Все метки)

Разработать класс, набор методов (конструктор, деструктор и указанные методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), которая использует объекты разработанного класса: Объект «рациональная не сократимая дробь, представлен парой целых чисел». Конструктор должен позволить создавать объекты без и с начальной инициализацией. Реализовать метод add и sub - сложение и вычитание двух дробей.
Кликните здесь для просмотра всего текста
Розробити клас, набір методів (конструктор, деструктор і вказані методи) для програмної моделі заданого об'єкту. Опис об'єкту і його основних властивостей приводиться нижче. Привести програму(int main), що використовує об'єкти розробленого класу:
Об'єкт «раціональний не скоротний дріб, представлений парою цілих чисел». Конструктор повинен дозволити створювати об'єкти без та з початковою ініціалізацією. Реалізувати метод add і sub - складання і віднімання двох дробів.


Пожалуйста, помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 19:17     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел»)
Посмотрите здесь:

C++ Ввести класс для работы с объектом "рациональная дробь"
Разработать класс, представляющий собой множество целых чисел, с методом определения множества C++
Разработать класс (Объект «рациональная дробь, представлен парой целых чисел») C++
Разработать класс, моделирующий массив целых чисел и его обработку C++
C++ Класс для работы с объектом "рациональная дробь"
Структура Правильная рациональная дробь C++
Разработать класс SortedArrayOfInt – упорядоченный массив целых чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
20.06.2013, 19:22     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #2
Официальными языками форума являются русский и английский.
Поищите реализацию по форуму, такое задание часто здесь проскакивает.
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 19:29  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #3
MrGluck, Разработать класс, набор методов (конструктор, деструктор и указанные методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), которая использует объекты разработанного класса: Объект «рациональная не сократимая дробь, представлен парой целых чисел». Конструктор должен позволить создавать объекты без и с начальной инициализацией. Реализовать метод add и sub - сложение и вычитание двух дробей.

На русском так

Добавлено через 2 минуты
MrGluck, на форуме именно такого не нашел
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
20.06.2013, 19:43     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #4
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
#include <iostream>
 
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
}
Без упрощения
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 19:52  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #5
MrGluck, да, спасибо, работает. А как там сделать чтобы окно не закрывалось автоматически?
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
20.06.2013, 19:55     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #6
vanyakilkil, #include <cstdlib>

перед концом main-a system("pause");
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 20:06  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #7
MrGluck, возможно я не туда system pause добавил?
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 <cstdlib>
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
    system("pause")
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
20.06.2013, 20:42     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #8
vanyakilkil, вы не в состоянии прочесть ошибку компилера, что после инструкции требовалось бы ; поставить?
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 20:56  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #9
MrGluck, точно, протупил.. Но окно все равно закрывается само
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
20.06.2013, 20:59     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #10
vanyakilkil, косяк в вашей IDE
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 21:00  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #11
MrGluck, а вы не можете скомпилировать и архивом сбросить, пожалуйста
MastAKK
145 / 136 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
20.06.2013, 21:00     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #12
попробуйте cin.get();
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
20.06.2013, 23:05  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #13
MastAKK, тогда получается ошибка тоже
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 <cstdlib>
class Fraction
{
  public:
    Fraction() : numerator(0), denominator(1) {}
    Fraction(const int a, const int b) : numerator(a), denominator(b) {}
 
    void add(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator += f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) +
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
    void sub(const Fraction &f)
    {
        if (denominator == f.denominator)
        {
            numerator -= f.numerator;
            return;
        }
        int mult = denominator * f.denominator;
        numerator = numerator * (mult / denominator) -
                    f.numerator * (mult / f.denominator);
        denominator = mult;
    }
 
    friend std::ostream & operator<< (std::ostream &out, const Fraction &f)
    {
        out << f.numerator << "/" << f.denominator;
        return out;
    }
 
  protected:
    int numerator, denominator;
};
 
 
int main()
{
    Fraction f1(3, 4), f2(1, 8), f3(1, 32);
    std::cout << f1 << " + " << f2 << " - " << f3 << " = ";
    f1.add(f2);
    f1.sub(f3);
    std::cout << f1 << std::endl;
    cin.get();
}
Добавлено через 2 часа 2 минуты
MastAKK, вы бы не могли сбросить скомпилированным архивом? Вам же минута времени а мне мороки
MrGluck
Ворчун
Эксперт CЭксперт С++
6462 / 3660 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
21.06.2013, 00:03     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #14
vanyakilkil,111.rar
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 00:06     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел»)
Еще ссылки по теме:

Разработать класс SqArrayOfInt – двумерный массив целых чисел C++
C++ Помогите отладить программу: Разработать класс, содержащий вектор длинных целых чисел
C++ Класс "Рациональная дробь"
Класс Рациональная дробь C++
Рациональная дробь C++

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

Или воспользуйтесь поиском по форуму:
vanyakilkil
34 / 34 / 2
Регистрация: 13.06.2012
Сообщений: 650
21.06.2013, 00:06  [ТС]     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел») #15
MrGluck, спасибо
Yandex
Объявления
21.06.2013, 00:06     Разработать класс (Объект «рациональная не сократимая дробь, представлен парой целых чисел»)
Ответ Создать тему
Опции темы

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