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ő 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);
}