#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>


/* IO */
int readf_drepte(char* numef, PDreapta d)
{
   int nr=0;
   char buf[101];
   if(!numef || !strlen(numef))
   {
      cout << "Introdu numele fisierului care contine coordonatele dreptelor:" << endl;
      cin >> buf;  numef = buf;
   }
   ifstream in(numef);
   if( !in ){ cout<<"Nu pot deschide fisierul "<<numef<<" pentru citire!"<<endl; return 0; }
   
   while(!in.eof())
   {
      in >> d[nr].A >> d[nr].B >> d[nr].C;
      in.getline(buf, 100);
      nr++;
   }
   in.close();
   return nr-1;
}
/*----------------------------------------------------------------*/
int writef_drepte(char* numef, PDreapta d, int nr)
{
   if(!numef || !strlen(numef))
   {
      char buf[101];
      cout << "Introdu numele fisierului care contine coordonatele dreptelor:" << endl;
      cin >> buf;  numef = buf;
   }
   ofstream out(numef);
   if( !out ){ cout << "Nu pot deschide fisierul " << numef << " pentru scriere!" << endl; return 0; }
   out.precision(2);
   out.width(6);
   out.setf(ios::fixed, ios::floatfield);

   for(int i=0; i<nr; i++){ out << d[i].A << "\t" << d[i].B << "\t" << d[i].C << endl; }
   out.close();
   return i;
}
/*----------------------------------------------------------------*/
void gen_drepte(PDreapta d, int nr, TCoord max = 150)
{
   int i;
   for(i=0; i<nr; i++)
   {
     d[i].A = random(2*max)-max;
     d[i].B = random(2*max)-max;
     d[i].C = random(2*max)-max;
   }
}
/*----------------------------------------------------------------*/
void read_dreapta(Dreapta& d, char *nume)
{
   cout<<"\nIntrodu coeficientii dreptei "<<nume<<endl; // printf("Introdu nr de drepte:\n");
   cout<<nume<<".A = "; cin>>d.A;
   cout<<nume<<".B = "; cin>>d.B;
   cout<<nume<<".C = "; cin>>d.C;
}
/*----------------------------------------------------------------*/
void write_dreapta(Dreapta d, char *nume)
{
  cout.precision(2);
  cout.width(6);
  cout.setf(ios::fixed, ios::floatfield);
  cout<<endl;
  cout<<nume<<".A = "<<d.A<< "\t\t" <<
        nume<<".B = "<<d.B<< "\t\t" <<
        nume<<".C = "<<d.C<< endl;
}
/*----------------------------------------------------------------*/
