Добавил:
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); 1-ое задание
Drobi(int m,int s);
void Read();
void Display();
Drobi sloj(Drobi a,Drobi b);
private:
int chis;
int znam;
};
Drobi::Drobi(int m,int s) // конструктор с параметрами базового класса
{
chis=m;
znam=s;
}
/*
void Drobi::Init(int m,int s) 1-ое задание
{
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);
Okr(int m,int s,int d);
private:
int dec;
};
Okr::Okr(int m, int s, int d):Drobi(m,s){
dec=d;
}
/*
void Okr::Init(int m, int s, int d){
Drobi::Init(m,s);
dec=d;
}*/
void Okr::Putdec(int d)
{
dec=d;
}
int Okr::Numberdec()
{
int k;
k=Dell();
if(k>=0.5)
return k+dec;
else
return k;
}
int main()
{
setlocale(LC_ALL, "Russian"); /*setlocale( LC_CTYPE, ".1251" ); */
int m,s;
double k;
Drobi x(3,2);
Drobi y(4,5);
x.Read();
k=x.Dell();
printf("%.2f\n", k);
Okr g(4,1,2);
double g1,g2;
g1=g.Numberdec();
g2=g.Dell();
x.sloj(x,y);
x.Display();
m=x.Getchis();
s=x.Getznam();
cout<<endl;
//cout<<m<<"/"<<s<<endl;
system("pause");
return 0;
}
Соседние файлы в папке 1