All pastes #56349 Raw Edit

Someone

public text v1 · immutable
#56349 ·published 2006-05-16 21:19 UTC
rendered paste body
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

struct elem{
      int k;
      int d;
      } ;
class raktar{
      public:
             raktar(const string& fn);
             void read(bool& sraktar, elem& draktar);
      private:
              ifstream t;
              elem dt;
              };
class szallit{
      public:
             szallit(const string& fn);
             void open();
             void read(bool& sszallit,elem& dszallit);
      private:
              ifstream t;
              elem dt;
              };
raktar::raktar(const string& fn) : t(fn.c_str())     
{
}

void raktar::read(bool& sraktar, elem& draktar)
{
      if (t.eof()){
                  sraktar=false;
                  return;
                  }
     sraktar=true;
     draktar.k=dt.k;
     draktar.d=dt.d;
     cout << draktar.k<<" "<<draktar.d<<endl;
     
     while(!t.eof()){
           t>>dt.k;
           t>> dt.d;
           draktar.k=dt.k;
           draktar.d=dt.d;
           
           }
     
}
szallit::szallit(const string& fn):t(fn.c_str()){
}
void szallit::open(){
     t>>dt.k;
     t>>dt.d;
}
void szallit:: read(bool& sszallit,elem&dszallit){
      if(t.eof()){
                 sszallit=false;
                 return;
                 }
     sszallit=true;
     dszallit.k=dt.k;
     dszallit.d=0;
     while(!t.eof() && dt.k ==dszallit.k){
     dszallit.d=dszallit.d+dt.d;
          t>>dt.k;
          t>>dt.d;
          
          }
}
                     
int main(int argc,char* argv[]){    
   bool sraktar;
   elem draktar;
   string a, b;
   bool sszallit;
   elem dszallit;
   
   if (argc==1){

   cout << "Add meg a raktár nyilvántartás fájl nevét: ";
   cin >> a;
   cout << "Add meg az aktuális napi szállítás fájlját: ";
   cin >> b;
   }else if(argc==3){
      a=argv[1];
      b=argv[2];
   }else{
      cout<< "nem megfelel&#337; paraméterezés" <<endl;
      char ch; cin >> ch;
      exit (1);
      }  
      ofstream y("eredmeny.txt"); 
   raktar raktar(a);
   szallit szallit(b); 
   raktar.read(sraktar,draktar);
  
         szallit.open();
         szallit.read(sszallit, dszallit);
while(sraktar || sszallit)
{
         if((sraktar==sszallit && draktar.k < dszallit.k) || !sszallit)
         {
         y << draktar.k <<" "<< draktar.d << endl;
         raktar.read(sraktar, draktar);
         }
         
         else if(sraktar==sszallit && draktar.k==dszallit.k)
         {
                   
         y << draktar.k <<" "<<draktar.d+ dszallit.d << endl;
                  
         raktar.read(sraktar, draktar);
         szallit.read(sszallit, dszallit);
         }
         
         else if((sraktar==sszallit && draktar.k > dszallit.k) || !sraktar)
         {
                    
         y << dszallit.k << " "<<dszallit.d << endl;
                    
                   
         szallit.read(sszallit, dszallit);
         }
}
cout << "az aktualizálás sikeresen megtörtént";

return (0);
}