ich bin neulinge in c++ und vesuche zwei classen Input und saveload zuschreiben; in input soll Funktionswerte(x und y),die ich später plotten möchte,ausgewertet. in zweite class saveload soll die Daten geschrieben bzw. gelesen werden und der Pfade soll über konsole eigegeben .
kann jamend mein Code kurz angucken und mir tipps geben wie ich das zum laufen krigen kann;
hier ist Project.h
Code: Alles auswählen
struct XYpair{
double x;
double y;
XYpair(double x, double y):x(x),y(y){}
};
class INPUT{
private:
int psize;
double xmin,xmax;
int wahl;
std::vector<XYpair> dptr;
public:
void setvalue();
std::vector<XYpair> Dataplot(int psize);
int menu();
};
class Saveload{
private:
ifstream idatei;
ofstream odatei;
std::vector<XYpair> Vp;
char pfad [200];
public:
void save(int n, std::vector<XYpair>);
std::vector<XYpair> load();
};
#endif
Code: Alles auswählen
std::vector<XYpair> INPUT::Dataplot(int psize){
double xr=(double)(xmax-xmin)/psize;
double X=xmin;
int i;
std::vector<XYpair> dptr;
X=xmin;
for(i=0; i<psize; i++){
dptr.push_back(XYpair(X,sin(X)));
X+=xr;
}
return dptr;
}
void Saveload::save(int n, std::vector<XYpair> v){
std::vector<XYpair> Vp;
int i;
for(i=0;i<=n-1;i++){
Vp[i]=v[i];
}
cout<< "Unter welchem Pfadname soll es gepeichert werden?"<< endl;
cin>>pfad;
idatei.open(pfad, ios::in | ios::binary);
if(!idatei){cout <<"Fehler beim Öffnen neuer Datei"<<endl;}
idatei.read(Vp, sizeof(Vp)/sizeof(Vp[0]));
idatei.close()
}
std::vector<XYpair> Saveload:: load(){
int n;
cout<<"von welchem Pfad soll ausgelesen werden"<< endl;
cin>>pfad;
odatei.open(pfad, ios::out | ios::binary);
if(!odatei){cout <<"Fehler beim Öffnen der Datei"<<endl;}
std::vector<XYpair> ptr;
odatei.write(Vp,size(n));
for(i=0; i<n; i++)
ptr[i]=Vp[i];
odatei.close();
return ptr;
}
Code: Alles auswählen
int main(){
int Wahl;
int psize=15;
std::vector<XYpair> V;
NPUT fdata;
Saveload pdata;
Wahl=fdata.menu();
if(Wahl==1){
fdata.setvalue();
V=fdata.Dataplot(psize);
pdata.save(psiz,V);
}
else if(Wahl==2){
V =pdata.load();
for(int i=0; i<psize-1; i++){
cout <<"V.x"<<V[i].x<<"V.y"<<V[i].y<<'\n';
}
ich bin für jeder Hilfe sehr dankbar .
Gruß
Seb