Добавил:
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 sloj(Drobi a,Drobi b);
protected:
int chis;
int znam;
/*
Итак, public, private и protected — это модификаторы доступа
Public — доступ открыт всем, кто видит определение данного класса.
Private — доступ открыт самому классу (т.е. функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам.
Protected — доступ открыт классам, производным от данного.
*/
};
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;
}
void Drobi::Read()
{
cin>>chis>>znam;
}
void Drobi::Display()
{
// cout<<chis<<znam;
printf("\n%d/%d\n", chis, znam);
}
class Okr:public Drobi
{
public:
// новые методы Sprint
void Putdec(int d);
int Numberdec();
void Init(int m,int s, int d);
private:
int dec;
};
void Okr::Init(int m,int s, int d){
chis=m;
znam=s;
dec=d;
}
void Okr::Putdec(int d)
{
dec=d;
}
int Okr::Numberdec()
{
int k;
k=Dell();
if(dec!=0){
if(dec = 1 && dec = -1)
return k*dec;
else
return k;}
}
int main()
{
setlocale(LC_ALL, "Russian"); /*setlocale( LC_CTYPE, ".1251" ); */
int m,s;
double k;
Drobi x,y,z;
x.Read();
y.Init(4,5);/////////////////////////
k=x.Dell();
printf("%.2f\n", k);
Okr g;
double g1,g2;
g.Init(1,8,0);//////////////
//g.Putdec(0.5);
g1=g.Numberdec();
g2=g.Dell();
z=z.sloj(x,y);
z.Display();
m=z.Getchis();
s=z.Getznam();
cout<<endl;
//cout<<m<<"/"<<s<<endl;
system("pause");
return 0;
}