Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 21st, 2010 | Syntax: C++ | Size: 4.63 KB | Hits: 168 | Expires: Never
Copy text to clipboard
  1. #include "fstream.h"
  2. #include "Unit1.h"
  3. #include "darbuotojai.cpp"
  4. #include <vcl.h>
  5. //---------------------------------------------------------------------------
  6. #pragma hdrstop
  7. #pragma package(smart_init)
  8. #pragma resource "*.dfm"
  9. const char inFN[]="darbuotojai.txt";
  10. const char oFN[]="rezultatai.txt";
  11. //---------------------------------------------------------------------------
  12. TForm1 *Form1;
  13.  
  14. __fastcall TForm1::TForm1(TComponent* Owner)
  15.         : TForm(Owner)
  16. {
  17. }
  18.  
  19. //---------------------------------------------------------------------------
  20.  
  21. void __fastcall TForm1::Button2Click(TObject *Sender)
  22. {
  23. ifstream inst(inFN);
  24. int eil_nr=1+count(istreambuf_iterator<char>(inst),istreambuf_iterator<char>(),'\n');
  25. char v[25],
  26.      p[25],
  27.      g[8];
  28. Darbuotojai Darb;
  29. double darbv,
  30.         darbvalsk,
  31.         virsv,
  32.         darbvsk,
  33.         atlygdv,
  34.         atlygv,
  35.         atlyg;
  36. if(inst.is_open())
  37. {
  38.         while(!inst.eof())
  39.         {
  40.                 inst>>v>>p>>g;
  41.                 for(int i=0; i<=29;i++)
  42.                 {
  43.                         inst>>darbv;
  44.                 }
  45.                 Darb.SetData(v,p,g,darbv);
  46.                 Memo1->Lines->Add(Darb.GetData());
  47.         }inst.close();
  48. }
  49. else Memo1->Lines->Add("error!");
  50. }
  51. ofstream ost(oFN);
  52. AnsiString darbvalsk,atlygdv,virsv,atlygv,atlyg;
  53. if(ost.is_open()){
  54. for (int i=0;i<eil_nr;i++)
  55. {
  56.         Darb.GetData(darbvalsk,atlygdv,virsv,atlygv,atlyg);
  57.         Memo1->Lines->Add(darbvalsk+atlygdv+virsv+atlygv+atlyg);
  58.         ost<<darbvalsk.c_str()<<"\t"<<atlygdv.c_str()<<"\t"
  59.         <<virsv.c_str()<<"\t"<<atlygv.c_str()<<"\t"<<atlyg.c_str()<<endl;
  60. }
  61. ost.close();
  62. } else Memo1->Lines->Add("error!");
  63. //---------------------------------------------------------------------------
  64.  
  65.  
  66. //and here is my class
  67.  
  68.  
  69. //darbuotojai.h
  70. class Darbuotojai
  71. {
  72.   char vardas[25],
  73.        pavarde[25],
  74.        gimimo_data[8];
  75.   double valandos[30],
  76.          darbo_val,
  77.          virsvalandziai,
  78.          viso_val,
  79.          atlyginimas_darbo_val,
  80.          atlyginimas_virsval,
  81.          atlyginimas_visas;
  82.  
  83.   public:
  84.   Darbuotojai();
  85.    ~Darbuotojai();
  86.  
  87.   void SetData(char vard[], char pavard[], char gd[], double val[29]);
  88.   void GetData(AnsiString &vard, AnsiString &pavard, AnsiString &gd, double &darbval, double &virsval, double &visval, double &atldval, double &atlvval, double &atlvis);
  89.   AnsiString GetData();
  90. };
  91.  
  92. Darbuotojai::Darbuotojai():darbo_val(0),virsvalandziai(0),viso_val(0),atlyginimas_darbo_val(0),atlyginimas_virsval(0),atlyginimas_visas(0)
  93. {
  94. };
  95.  
  96. Darbuotojai::~Darbuotojai()
  97. {
  98. };
  99.  
  100. void Darbuotojai::SetData(char vard[], char pavard[], char gd[], double val[29])
  101. {
  102.    strcpy(vardas, vard);
  103.    strcpy(pavarde, pavard);
  104.    strcpy(gimimo_data, gd);
  105.    for (int i=0;i<29;i++)
  106.    {
  107.         valandos[i]=val[i];
  108.         if (valandos[i] <= 8)
  109.         {
  110.                 darbo_val+=valandos[i];
  111.         }
  112.         else
  113.         {
  114.                 virsvalandziai+=valandos[i]-8;
  115.                 darbo_val+=valandos[i]-virsvalandziai;
  116.         }
  117.    }
  118.    viso_val=virsvalandziai+darbo_val;
  119.    atlyginimas_darbo_val=darbo_val*10;
  120.    atlyginimas_virsval=virsvalandziai*15;
  121.    atlyginimas_visas= atlyginimas_virsval+atlyginimas_darbo_val;
  122. }
  123.  
  124. void Darbuotojai::GetData(AnsiString &vard, AnsiString &pavard, AnsiString &gd, double &darbval, double &virsval, double &visval, double &atldval, double &atlvval, double &atlvis)
  125. {
  126.   vard=vardas;
  127.   pavard=pavarde;
  128.   gd=gimimo_data;
  129.   darbval=darbo_val;
  130.   virsval=virsvalandziai;
  131.   visval=viso_val;
  132.   atldval=atlyginimas_darbo_val;
  133.   atlvval=atlyginimas_virsval;
  134.   atlvis=atlyginimas_visas;
  135.   }
  136.  
  137.  
  138.  
  139. AnsiString Darbuotojai::GetData()
  140. {
  141. return AnsiString(vardas)+"\t"+AnsiString(pavarde)+"\t"+AnsiString(gimimo_data)+"\t"+AnsiString(valandos[0])
  142. +"\t"+AnsiString(valandos[1])+"\t"+AnsiString(valandos[2])+"\t"+AnsiString(valandos[3])
  143. +"\t"+AnsiString(valandos[4])+"\t"+AnsiString(valandos[5])+"\t"+AnsiString(valandos[6])
  144. +"\t"+AnsiString(valandos[7])+"\t"+AnsiString(valandos[8])+"\t"+AnsiString(valandos[9])
  145. +"\t"+AnsiString(valandos[10])+"\t"+AnsiString(valandos[11])+"\t"+AnsiString(valandos[12])
  146. +"\t"+AnsiString(valandos[13])+"\t"+AnsiString(valandos[14])+"\t"+AnsiString(valandos[15])
  147. +"\t"+AnsiString(valandos[16])+"\t"+AnsiString(valandos[17])+"\t"+AnsiString(valandos[18])
  148. +"\t"+AnsiString(valandos[19])+"\t"+AnsiString(valandos[20])+"\t"+AnsiString(valandos[21])
  149. +"\t"+AnsiString(valandos[22])+"\t"+AnsiString(valandos[23])+"\t"+AnsiString(valandos[24])
  150. +"\t"+AnsiString(valandos[25])+"\t"+AnsiString(valandos[26])+"\t"+AnsiString(valandos[27])
  151. +"\t"+AnsiString(valandos[28])+"\t"+AnsiString(valandos[29]);
  152. }