Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Progi / Lesson 4 / 1 / 8

.txt
Скачиваний:
27
Добавлен:
28.03.2015
Размер:
2.2 Кб
Скачать
// 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;
   
}

Соседние файлы в папке 1