📄 patrat.cpp
字号:
#include "Patrat.h"
#include "Punct.h"
#include <iostream.h>
#include <fstream.h>
Patrat::Patrat()
{
tip='p';
origine.coord_x=origine.coord_y=0;
latura = 0;
}
Patrat::Patrat(Punct O, double l)
{
tip='p';
origine.coord_x = O.coord_x;
origine.coord_y = O.coord_y;
latura = l;
}
void Patrat::setLatura(double l)
{
latura = l;
}
double Patrat::getLatura()
{
return latura;
}
double Patrat::Arie()
{
return (this->getLatura()*this->getLatura());
}
double Patrat::Perimetru()
{
return (this->getLatura()*4);
}
void Patrat::readFromFile(char* file)
{
ifstream input(file);
//input.open(file,ios::in);
int x, y;
double l;
char c;
bool read=false;
while(read != true )
{
if(input.eof()==1)
break;
input>>c;
if(c=='p')
{
input>>x>>y>>l;
}
else
{
input.ignore(9999,'\n');
}
}
origine.muta(x,y);
latura = l;
}
Punct Patrat::getOrigine()
{
return this->origine;
}
void Patrat::afisare()
{
cout<<"originea patratului este: ("<<origine.coord_x<<","<<origine.coord_y<<")"<<endl;
cout<<"Latura patratului este: "<<latura<<endl;
cout<<"Perimetrul patratului este: "<<this->Perimetru()<<endl;
cout<<"Aria patratului este: "<<this->Arie()<<endl;
}
ifstream& operator>>(ifstream& input,Patrat& patrat)
{
int x, y;
double l;
char c;
bool read=false;
while(read != true )
{
if(input.eof()==1)
break;
input>>c;
if(c=='p')
{
input>>x>>y>>l;
}
else
{
input.ignore(9999,'\n');
}
}
patrat.origine.muta(x,y);
patrat.latura = l;
return input;
}
ofstream& operator<<(ofstream& out,Patrat& patrat)
{
out<<"Patrat "<<endl<<"Latura "<<patrat.getLatura()<<endl;
out<<"Originea "<<"X: "<<patrat.getOrigine().coord_x<<endl<<"Y: "<<patrat.getOrigine().coord_y<<endl;
return out;
}
istream& operator>>(istream& input,Patrat& patrat)
{
int x, y;
double l;
input>>x>>y>>l;
patrat.origine.muta(x,y);
patrat.latura = l;
return input;
}
ostream& operator<<(ostream& out,Patrat& patrat)
{
out<<"Patrat "<<endl<<"Latura "<<patrat.getLatura()<<endl;
out<<"Originea "<<"X: "<<patrat.getOrigine().coord_x<<endl<<"Y: "<<patrat.getOrigine().coord_y<<endl;
return out;
}
Figura& Patrat::deplasare(double x, double y)
{
origine.coord_x+=x;
origine.coord_y+=y;
return *this;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -