Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.95
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
#1

Организовать класс "Дробь" - C++

23.11.2012, 16:05. Просмотров 3610. Ответов 8
Метки нет (Все метки)

Организовать класс дробь, содержащий методы вывода дроби в общепринятом виде и функцию приведения дроби к несократимому виду. Класс должен обязательно содержать не менее двух конструкторов – по умолчанию и с параметрами. Объявить объекты класса и продемонстрировать работу методов.

Добавлено через 6 часов 34 минуты
помогите, пожалуйста, кто-нибудь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 16:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Организовать класс "Дробь" (C++):

Класс "Дробь". Перегрузка оператора "=="
template <class T> void polynomial<T>::refresh(){ //отбрасывающую старшие...

Ввести класс для работы с объектом "рациональная дробь"
Ввести класс для работы с объектом "рациональная дробь".Реализовать:...

Класс для работы с объектом "рациональная дробь"
Надо ввести класс для работы с объектом "рац.дробь" и реализовать...

Класс "Дробь" для обработки обычных дробей
помогите пожалуйста написать перегрузку операций Система обработки обычных...

Реализовать класс "Ромб"; организовать интерактивную демонстрацию работы с массивом объектов типа "Ромб"
Пользователь вводит массив Ромбов Свойства: сторона и диагональ (меньшая)...

Класс "Дробь", создать таблицу умножения
Классы, циклы задание состоит вот в чем: Программа должна выводить аналог...

8
XRuZzz
Антикодер
1489 / 646 / 36
Регистрация: 15.09.2012
Сообщений: 2,635
23.11.2012, 16:32 #2
создайте для начала пустой класс с двумя конструкторами и пустым методом
потом создайте объект этого класса и вызовите метод.
Когда напишите можно будет дальше думать.
0
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
23.11.2012, 17:43  [ТС] #3
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
#include<iostream.h>
#include<math.h>
#include <stdio.h>
class fraction {
protected: 
           int a, b;
public:
       fraction (int c, int d)
       { a=c;
         b=d;
       }
       fraction()
       { printf(" Vvedite chislitel' and znamenatel' :\n");
         printf("a= "); scanf("%d", &a);
         printf("b= "); scanf("%d", &b);
       }
void print()
       {printf("drob' %d/%d\n", a, b);
       }
int Nod(int a, int b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
void Func(int &a, int &b)
{ 
    int t=Nod(a,b);
    printf("%d",t);
   a/=t;
   b/=t;
   printf("%d/%d\n", a,b);
}
};
int main()
{ int a,b;
 fraction e;
 e.print();
 e.Func(a,b);
 
 system("pause");         
}
программа работает не правильно, возможно я не правильно вызываю функцию.. помогите исправить
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
23.11.2012, 18:43 #4
Посмотри здесь http://www.cyberforum.ru/cpp-beginners/thread682365-page2.html
0
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
25.11.2012, 16:56  [ТС] #5
к сожалению, я ничего не поняла.. вы можете конкретно на моем случае объяснить что я не так делаю?
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,960
Записей в блоге: 1
25.11.2012, 17:11 #6
Откуда столько однотипных тем???
http://www.cyberforum.ru/cpp-beginners/thread707704.html
http://www.cyberforum.ru/cpp-beginners/thread707089.html
http://www.cyberforum.ru/cpp-beginners/thread682365.html
...
thread999999.html
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
26.11.2012, 18:20 #7
Цитата Сообщение от zttx Посмотреть сообщение
к сожалению, я ничего не поняла.. вы можете конкретно на моем случае объяснить что я не так делаю?
Вы неправильно приводите дробь к несократимому виду.

Добавлено через 9 минут
Зачем вы в строке 39 объявляете переменные a, b?
Подправил ошибки
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
#include<iostream>
#include<math.h>
#include <stdio.h>
class fraction {
protected: 
           int a, b;
public:
       fraction (int c, int d)
       { a=c;
         b=d;
       }
       fraction()
       { printf(" Vvedite chislitel' and znamenatel' :\n");
         printf("a= "); scanf("%d", &a);
         printf("b= "); scanf("%d", &b);
       }
void print()
       {printf("drob' %d/%d\n", a, b);
       }
int Nod(int a, int b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
void Func()
{ 
   int t = Nod(a, b); 
   
   a /= t; 
   b /= t; 
   std::cout << a << "/ " << b << std::endl;
}
};
int main()
{ 
 fraction e;
 e.print();
 e.Func();
 
 system("pause");         
}
0
zttx
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
27.11.2012, 15:31  [ТС] #8
std::cout << a << "/ " << b << std::endl; что это значит? зачем std?
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
27.11.2012, 15:38 #9
Потому что cin, cout объявлены в пространстве имён std;
Это такой же вывод и ввод как printf, scanf, только на языке С++, а не на СИ как у тебя.
0
27.11.2012, 15:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 15:38
Привет! Вот еще темы с решениями:

Реализовать класс "Числовая дробь"
Данные класса: числитель и знаменатель дроби. Функции класса: сложение,...

Класс "Рациональная дробь"
Реализовать класс Rational, используя два массива из 100 элементов типа...

Класс "Несократимая дробь"
Помогите написать класс &quot;несократимая дробь&quot; (т.е дробь 2/4, 4/8 и есть 1/2

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...


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

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

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