Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
// laba1.cpp: определяет точку входа для консольного приложения.
//
#include "StdAfx.h"
#include <iostream>
#include <windows.h>
using namespace std;
class Drobi
{
public:
int Getchis();
int Getznam();
double Dell();
void Init(int m,int s);
void Read();
void Display();
Drobi operator +(Drobi b);
Drobi operator *(int b);
friend Drobi operator +(int x,Drobi b);
Drobi sloj(Drobi a,Drobi b);
Drobi & operator ++();
Drobi operator ++(int unused);
private:
int chis;
int znam;
};
void Drobi::Init(int m,int s)
{
chis=m;
znam=s;
}
int Drobi::Getchis()
{
return chis;
}
int Drobi::Getznam()
{
return znam;
}
double Drobi::Dell()
{
double n;
int k;
k=chis/znam;
n=(1.0*chis/znam);
return n-k;
}
//..........................
Drobi Drobi::sloj(Drobi a,Drobi b)
{
Drobi c;
c.chis=a.chis*b.znam + a.znam*b.chis;
c.znam=a.znam*b.znam;
return c;
}
Drobi Drobi::operator+(Drobi b){
Drobi c;
c.chis=this->chis*b.znam + this->znam*b.chis;
c.znam=this->znam*b.znam;
return c;
}
Drobi Drobi::operator*(int b) // сложение с числом справа
{
Drobi c;
c.chis=this->chis+b + this->znam+b;
c.znam=this->znam;
return c;
}
Drobi operator +(int x,Drobi b) // отсутствуют Record::
{
Drobi c;
c.chis=x*b.znam + x*b.chis;
c.znam=x*b.znam;
return c;
}
//............
Drobi & Drobi::operator ++() // prefix
{
this->chis++;
return *this;
}
Drobi Drobi::operator++(int unused) // postfix
{
Drobi c = *this;
++*this;
return c;
}
void Drobi::Read()
{
cin>>chis>>znam;
}
void Drobi::Display()
{
// cout<<chis<<znam;
printf("\n%d/%d\n", chis, znam);
}
int main()
{
setlocale(LC_ALL, "Russian"); /*setlocale( LC_CTYPE, ".1251" ); */
int m,s;
double k;
Drobi x,y,z,d;
x.Read();
y.Init(4,5);
d=x+y;
y=45+y;
y=y*45;
d=y++;
d=++y;
k=x.Dell();
printf("%.2f\n", k);
z=z.sloj(x,y);
z.Display();
m=z.Getchis();
s=z.Getznam();
cout<<endl;
//cout<<m<<"/"<<s<<endl;
system("pause");
return 0;
}