Написання програми, що знаходить активну потужність, яка розсіюється в діелектрику, страница 2

Таблиця символів

Символ у задачі

Символ у програмі

Значення

u

u

діюче значення змінної напруги

ƒ

f

частота змінного струму

C

c

ємність конденсатора

tgδ

tg

тангенс кута діелектричних втрат

Pa

Pa

активна потужність

Код програми

#include <iostream.h>

#include <math.h>

#include <conio.h>

#include <fstream.h>

#include <stdlib.h>

class Obect_obchisl

{protected:

    double obchisl_parametr;

 public:

    virtual void vvod(char *name)=0;

    virtual double rozrahunok()=0;

    virtual void vivod(char *name)=0;

};

class Dielectric : public Obect_obchisl

{private:

    double u, f, c, tg;

 public:

    Dielectric() {}

    Dielectric(double uu, double ff, double cc, double tgg):u(uu),f(ff),c(cc),tg(tgg) {}

    Dielectric(const Dielectric &x)

    { u=x.u;

      f=x.f;

      c=x.c;

      tg=x.tg;

    }

 virtual void vvod(char *name)

   { ifstream ifs(name);

     double znach2;

     if (!ifs)

         {cout << "Error" << name << endl;

          exit(1);      }

     ifs >> u >> znach2;

     u/= znach2;

     ifs >> f >> znach2;

     f/= znach2;

     ifs >> c >> znach2;

     c/= znach2;

     ifs >> tg >> znach2;

     tg/= znach2;

     ifs.close();

    }

 virtual double rozrahunok()

   { obchisl_parametr=(u*u*2*M_PI*f*c*tg);

     return obchisl_parametr;

   }

 virtual void vivod(char *name)

   { ofstream ofs(name);

        if (!ofs)

         {cout << "Error " << name << endl;

          exit(1);      }

     ofs <<" u=" << u <<"\n f=" << f <<"\n c=" << c <<"\n tg=" << tg << endl;

     ofs << "obchisl_parametr: Pa=" << obchisl_parametr << endl;

     ofs.close();

   }

 Dielectric &operator=(const Dielectric &x)

   {u = x.u;

    f = x.f;

    c = x.c;

    tg = x.tg;

    return *this;

   }

 int operator==(Dielectric &x)

   {if (obchisl_parametr==x.obchisl_parametr)

      return 1;

      else return 0;

   }

 int operator!=(Dielectric &x)

   {if (obchisl_parametr==x.obchisl_parametr)

    return 0;

    else return 1;

   }

 int operator<(Dielectric &x)

   {if (obchisl_parametr<x.obchisl_parametr)

    return 1;

    else return 0;

   }

 int operator>(Dielectric &x)

   {if (obchisl_parametr>x.obchisl_parametr)

    return 1;

    else return 0;

   }

 int operator<=(Dielectric &x)

   {if (obchisl_parametr<=x.obchisl_parametr)

    return 1;

    else return 0;

   }

 int operator>=(Dielectric &x)

   {if (obchisl_parametr>=x.obchisl_parametr)