Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- class Triad {
- public:
- Triad() {
- a = 0;
- b = 0;
- c = 0;
- }
- Triad(double a, double b, double c) {
- this->a = a;
- this->b = b;
- this->c = c;
- }
- Triad(const Triad &T) {
- a = T.a;
- b = T.b;
- c = T.c;
- }
- void set_a(double a) {
- this->a = a;
- }
- void set_b(double b) {
- this->b = b;
- }
- void set_c(double c) {
- this->c = c;
- }
- double get_a() {
- return a;
- }
- double get_b() {
- return b;
- }
- double get_c() {
- return c;
- }
- Triad operator =(const Triad &T) {
- if (&T == this)
- return *this;
- return Triad(this->a = T.a, this->b = T.b, this->c = T.c);
- }
- friend std::ostream& operator << (ostream &out, const Triad &T);
- virtual void print() {
- cout << "(" << a << ", " << b << ", " << c << ")";
- }
- friend std::ofstream& operator << (ofstream &out, const Triad &T);
- friend std::ifstream& operator >> (ifstream &out, const Triad &T);
- protected:
- double a, b, c;
- };
- ostream& operator << (ostream &s, Triad &T) {
- s << "(" << T.get_a() << ", " << T.get_b() << ", " << T.get_c() << ")";
- return s;
- }
- ofstream& operator << (ofstream &fout, Triad &T) {
- if (fout.is_open() && fout.good()) {
- fout << "(" << T.get_a() << ", " << T.get_b() << ", " << T.get_c() << ")";
- }
- return fout;
- }
- ifstream& operator >> (ifstream &fin, Triad &T) {
- if (fin.is_open() && fin.good()) {
- int a, b, c;
- fin >> a >> b >> c;
- T.set_a(a);
- T.set_b(b);
- T.set_c(c);
- }
- return fin;
- }
- class Triangle : public Triad {
- public:
- Triangle() : Triad() {}
- Triangle(double a, double b, double c) : Triad(a, b, c) {}
- Triangle(const Triangle &tr) : Triad(tr.a, tr.b, tr.c) {}
- Triangle(const Triad &T) : Triad(T) {}
- double get_alpha() {
- if (b != 0)
- return asin(a / b);
- }
- double get_betta() {
- if (c != 0)
- return asin(b / c);
- }
- double get_gamma() {
- if (c != 0)
- return asin(a / c);
- }
- double get_square() {
- double p = (a + b + c) / 2;
- return sqrt(p * (p - a) * (p - b) * (p - c));
- }
- };
- void main() {
- Triad s(4, 5, 6);
- Triad k = s;
- s.print();
- k.print();
- ofstream fout;
- fout.open("s.txt");
- fout << 3 << " " << 4 << " " << 5 << endl;
- fout << s;
- fout.close();
- ifstream fin;
- fin.open("s.txt");
- fin >> k;
- fin.close();
- k.print();
- Triangle tr = k;
- fout.open("s1.txt");
- fout << endl << tr.get_alpha() << " " << tr.get_betta() << " " << tr.get_gamma() << " " << tr.get_square() << endl;
- fout.close();
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement