include iostream include math include cstdlib using namespace std clas

  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
#include <iostream>
#include <math.h>
#include "cstdlib"
using namespace std;
class rational_number
{
double num, dn; //числитель (numerator) и знаменатель (denominator)
public:
rational_number()//конструктор
{
cout << "Введите числитель:\n";
cin >> num;
cout << "Введите знаменатель";
cin >> dn;
cout << "Отработал конструктор\n";
};
~rational_number()//деструктор
{
cout << "Отработал деструктор\n";
}
friend double operator ^ (double x,rational_number &n);
friend void operator <(rational_number &n, rational_number &d);//друг с другом
friend void operator >(rational_number &n, int x);
};
/* Возведение в степень заданную РЧ */
double power()
{ double x;
cout<<"Введите вещественное число:\n";
cin>>x;
cout<<"Введите рациональное число:\n";
rational_number n;
return x^n;
system("PAUSE");
}
double operator ^ (double x,rational_number &n)
{ double p;
cout<<"Рациональное число:\n";
rational_number n;
p=(double)(n.num/n.dn);
return pow(x,p);
}
double compare();
{
cout<<"Введите первое рациональное число:\n";
rational_number n;
cout<<"Введите второе рациональное число:\n";
rational_number d;
return n<d;
}
void operator <(rational_number &n, rational_number &d)
{
double res1, res2;
cout<<"Введите первое рациональное число:\n";
rational_number n;
cout<<"Введите второе рациональное число:\n";
rational_number d;
res1=(double)(n.num/n.dn);
res2=(double)(d.num/d.dn);
if(res1>=res2)
cout<<"Первое рациональное число больше(или равно) второго рационального числа";
else
cout<<"Второе рациональное число больше(или равно) первого рационального числа";
return;
}
double compare_int ()
{
int x;
cout<<"Введите первое рациональное число:\n";
rational_number n;
cout<<"Введите целое число:\n";
cin>>x;
return n>x;
}
void operator >(rational_number &n, int x)
{
double res1;
cout<<"Введите первое рациональное число:\n";
rational_number n;
res1=(double)(n.num/n.dn);
if (res1>=x)
cout<<"Первое рациональное число больше(или равно) второго рационального числа";
else
cout<<"Второе рациональное число больше(или равно) первого рационального числа";
return;
}
int main()
{
setlocale(LC_ALL, "Russian");
rational_number line;
char sw;
int run=1;
double r;
while(run)
{
system("cls");
cout<<"1.Длинна вектора\n2.Сравнение РЧ\n3.Сравнение с ЦЧ\n4.Выход\n";
cin >> sw;
switch(sw)
{
case '1':r=power();
cout<<"Возведение вещественного числа в степень, заданную РЦ: ";
cout<<r<<endl;
system("PAUSE");
break;
case '2':r=compare();
cout<<"Сравнение рациональных чисел:";
cout<<r<<endl;
system("PAUSE");
break;
case '3':r=compare_int();
cout<<"Сравнение рационального чисеа c ЦЧ:";
cout<<r<<endl;
system("PAUSE");
break;
case '4':run=0;break;
}
}
return 0;
}