Ich habe ein Problem mit meinem Programm. Ich möchte eine Textdatei in meinem selbst definierten Container speichern, doch Ich weiß nicht, wo das Problem ist.
#include <iostream>
#include <filesystem>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
using namespace std;
template <typename Template>
class Container {
private:
Template* Eigenschaft1;
size_t Größe;
size_t Speichergröße;
public:
Container(size_t ContainerGröße = 10000) : Größe(0), Speichergröße(ContainerGröße) {
Eigenschaft1 = new Template[Speichergröße];
}
void Speichern(const Template& Wert) {
for (int i = 0; i < Größe; i++) {
Eigenschaft1[Größe++] = Wert;
}
}
};
class Personal {
private:
string Name;
string Position;
int Alter;
double Gehalt;
public:
Personal();
void Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container);
void Ausgabe();
void Hinzufügen(Container<ofstream>& Container);
};
Personal::Personal() {
Name = Name;
Position = Position;
Alter = Alter;
Gehalt = Gehalt;
}
void Personal::Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container) {
string Entscheidung;
ofstream Datei1("Datei.csv");
Datei1 << "Name: " << Name << endl;
Datei1 << "Position" << Position << endl;
Datei1 << "Alter: " << Alter << endl;
Datei1 << "Gehalt: " << Gehalt << endl;
cout << "M\u00F6chten sie die Person speichern: ";
if (Entscheidung == "Ja") {
Container.Speichern(Datei1);
}
else if (Entscheidung == "Nein") {
}
}
void Personal::Ausgabe() {
ifstream Datei1("Datei.csv");
getline(Datei1, Name);
Datei1 >> Position;
Datei1 >> Alter;
Datei1 >> Gehalt;
cout << "Name: " << Name << endl;
cout << "Alter: " << Alter << endl;
cout << "Beruf: " << Position << endl;
cout << "Gehalt: " << Gehalt << endl;
}
void Personal::Hinzufügen(Container<ofstream>& Container) {
Personal P;
cout << "Bitte geben side den Namen ein: ";
cin >> P.Name;
cout << "Bitte geben sie den Beruf an: ";
cin >> P.Position;
cout << "Bitte geben sie das Alter der Person an: ";
cin >> P.Alter;
cout << "Bitte geben sie das Gehalt der Person an: ";
cin >> P.Gehalt;
Speicherung(P.Name, P.Position, P.Alter, P.Gehalt, Container);
}
template <typename T>
int main() {
string Passwort1 { "Erfolg1234" };
string Passwort2;
Container<ofstream> Container;
Personal P;
int Entscheidung;
cout << "Geben sie das Passwort ein: ";
cin >> Passwort2;
if (Passwort2 == Passwort1) {
cout << "Wollen sie eine neue Position hinzufügen (1)" << endl;
cout << "Wollen sie auf eine Position zugreifen (2)" << endl;
cin >> Entscheidung;
if (Entscheidung == 1) {
P.Hinzufügen(Container);
}
else if (Entscheidung == 2) {
P.Ausgabe();
}
}
else {
cout << "Falsches Passwort" << endl;
}
}
Sorry dss ist englisch