Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2012, 17:50   #1
maksimyshka
Новичок
Джуниор
 
Регистрация: 02.12.2012
Сообщений: 2
По умолчанию Дописать класс

К этой программе надо добавить несократимую дробь и все условия больше, меньше, равно, неравно, больше либо равно, меньше либо равно
#include <iostream>
#include <string>
using namespace std;
class drobi
{
int a;
int b;
public:
drobi operator +(drobi x);
drobi operator -(drobi x);
drobi operator /(drobi x);
drobi operator *(drobi x);
void vvod();
void vivod();
void chast();
drobi operator ^(int n);
bool operator<(drobi x);
};
int main()
{drobi a,b,x;
a.vvod(); b.vvod();
cout<<"Drob 1: ";
a.vivod();
cout<<endl;
cout<<"Drob 2: ";
b.vivod();
cout<<endl;
cout<<"A + B =";
x=a+b;
x.vivod();
cout<<" Pravil'naya: ";
x.chast();
cout<<endl;
cout<<"A - B =";
x=a-b;
x.vivod();
cout<<" Pravil'naya: ";
x.chast();
cout<<endl;
cout<<"A / B =";
x=a/b;
x.vivod();
cout<<" Pravil'naya: ";
x.chast();
cout<<endl;
cout<<"A * B =";
x=a*b;
x.vivod();
cout<<" Pravil'naya: ";
x.chast();
cout<<endl;
cout<<"A ^ 4 =";
x=a^4;
x.vivod();
x=b^4;
x.vivod();
cout<<endl;
system("PAUSE");
return 0;
}
/* Ввод цифр */
void drobi::vvod()
{
cout<<"Vvedite Chislitel: "<<endl; cin>>a;
if (a==0)
{while (a==0)
{cout<<" Nepravil'no vvedeno chislo. Nel'zya vvodit' 0. Povtorite vvod: ";
cin>>a;}}
cout<<"Vvedite Znamenatel: "<<endl; cin>>b;
if (b<0)
{while (b<0)
{cout<<" Nepravil'no vvedeno chislo. Nel'zya vvodit' 0. Povtorite vvod: ";
cin>>b;}}
if (b==0)
{while (b==0)
{cout<<" Nepravil'no vvedeno chislo. Nel'zya vvodit' 0. Povtorite vvod: ";
cin>>b;}}
cout<<endl;
}
/* Вывод дроби */
void drobi::vivod()
{
cout<<a<<"/"<<b;
cout<<endl;
}

drobi drobi :perator +(drobi x)
{drobi d;
if ((b%x.b!=0)&&(x.b%b!=0))
d.b=b*x.b;
else if (b>x.b) d.b=b;
else if (b<x.b) d.b=x.b;
else d.b=b;
d.a=a*(d.b/b)+x.a*(d.b/x.b);
return d ;
}

drobi drobi :perator -(drobi x)
{drobi d;
if ((b%x.b!=0)&&(x.b%b!=0))
d.b=b*x.b;
else if (b>x.b) d.b=b;
else if (b<x.b) d.b=x.b;
else d.b=b;
d.a=a*(d.b/b)-x.a*(d.b/x.b);
return d ;
}

drobi drobi :perator /(drobi x)
{drobi d;
d.a=a*x.b;
d.b=b*x.a;
return d;
}

drobi drobi :perator *(drobi x)
{drobi d;
d.a=a*x.a;
d.b=b*x.b;
return d;
}

void drobi::chast()
{int x;
x=0;
if (a>b)
{x=a/b;
a=a%b;}
if (x!=0)
cout<<x<<" "<<a<<"/"<<b<<endl;
else cout<<a<<"/"<<b<<endl;
}

drobi drobi:: operator ^(int n)
{drobi d; int i;
d.a=1;
d.b=1;
for(i=1;i<=n;i++)
d=d*(*this);
return d;
}
bool drobi:perator<(drobi x)
{
return(x.a*b > x.b*a);
maksimyshka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) Динар Габбасов Помощь студентам 0 28.05.2012 18:44
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Класс MediaPlayer на основе готового. Дописать [C#] Casper-SC Фриланс 1 07.03.2010 11:13