Wie kann ich mit C++ Textdateien in einem Container speichern?

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;
  }
}
Cplusplus, Code, CPP, Programmiersprache, Visual Studio
C++ - "Funktion nimmt keine 0 Argumente." Behebung?

Schönen guten Abend!

Das Problem ist etwas anders als in der Frage, jedoch ist es für mich schwer dies in einem Satz zu erklären. Nun erstmal mein C++ Quellcode zum Verständnis:

#include <iostream>


int numbCount(int count);


int main()
{
	int num1 = numbCount();
	int num2 = numbCount(2);

  ...

}
  
  int numbCount(int count = 1) 
  {
  	int userNumb;
  	std::cout << "Please enter the " << count << ". integer: ";
  	std::cin >> userNumb;
  
  
  	return userNumb;
  }

Also, wie man sehen kann hat meine Funktion numbCount() Parameter. Außerdem bevorzuge ich es die Funktionsdefinition unter der Main() Funktion zu schreiben.

int numbCount(int count);

int main()
{
...
}

int numbCount(int count = 1)
{
...
}

Somit muss ich die Funktionsdeklaration über der Main() Funktion "erwähnen", damit ja der Compiler weiß, dass die Definition noch kommt. Dies scheint in diesem Fall bei einer Funktion mit Standardparameter für VS ein Problem darzustellen - Fehler "numbCount: function does not take 0 arguments".

Wenn ich jedoch die Funktionsdefinition von "numbCount()" über die Main() Funktion packe, funktioniert alles normal.

int numbCount(int count = 1)
{
...
}

int main()
{
...
}

Habe bereits versucht den Parameter in der "erwähnten" Funktionsdeklaration zwischen den runden Klammern ebenfalls einzufügen, also

int numbCount(int count = 1);

jedoch kommt dann der Fehler 'numbCount': redefinition of default argument: parameter 1

FRAGE:
Gibt es eine Möglichkeit in einer Funktion Standardparamter (also wenn kein Wert in Funktionsaufruf zwischen Klammern angegeben -> standardm. Wert 1) zu haben aber trotzdem die Funktionsdefinition unter der Main() Funktion zu belassen?

int numbCount(int count);

int main()
{
    int num1 = numbCount(); // Kein Wert angegeben - Std. Wert 1
    int num2 = numbCount(2);
}

int numbCount(int count = 1)
{
...
}

Vielen Dank und einen schönen Abend! :)

Computer, Software, Programm, programmieren, Anwendung, Funktion, Cplusplus, Anwendungsentwicklung, Argumente, Code, CPP, Fehlerbehebung, fehlercode, Programmiersprache, Softwareentwicklung, Visual Studio, Fehlermeldung, Parameter
Welche Programmiersprache nach javascript?

ich hab eine lange zeit nichts anderes als javascript gemacht darunter ist auch Typescript und react und vieles mehr und klar man kann noch mehr lernen. Php kann ich ausreichend fürs backend.

aber immer auf den Browser beschränkt zu sein und websites macht auf Dauer keinen spass. Ich will auch in der lage sein desktop programme zu schreiben.
electron js kann das aber ist auch nicht das beste was man nutzen kann und sobalds aufwendiger wird hat man Probleme und riesige Dateien. Man lernt auch nichts neues dadurch das ist nichts für mich.

c# c++ c java oder rust hatte ich im kopf.

(python syntax gefällt mir auch nicht , mir geht es auch ums lernen. Nicht nur mit pip install irgendwas nutzen von jemand anderes. Am ende hast du keine ahnung von der programmierung)

aber wie weiss ich welches der oben genannten Sprachen eher was für mich ist.

Java ist Typescript sehr ähnlich, läuft überall und ich könnte da schnell zurechtkommen aber dafür ist es deutlich langsamer als C++ und nicht so mächtig.

Mit c++ lernst du auch viel und wird oft in Unis oder Schulen gelehrt, hätte damit einen vorteil wenn ich es schon gut kann.
Rust hat einen kleinen hype und viele meinen es wird in zukunft wichtiger werden = mehr jobs.

c# ist soweit ich weiss
nur für windows Anwendungen gut, mit den anderen sprachen könnte man auch in zukunft was für linux machen wenn man lust drauf hat.

ich seh da keinen grossartigen vorteil zu java oder c++ in der schnelligkeit.

Computer, Microsoft, App, IT, Webseite, Java, JavaScript, compiler, Cplusplus, C Sharp, CPP, Informatik, Oracle, Programmiersprache, Python, sdk, C (Programmiersprache), React, Angular
Compiler MinGw64/g++ in/für C++ in Visual Studio Code?

Hey,

ich finde es es ziemlich verwirrend mit dem Compiler und dem g++ für/in C++ in VS Code.

Also im Prinzip will ich einfach nur ein simples GTA5-Single-Playerskript in C++ machen, welches am Ende aber keine .lua sondern eine .dll- oder eine .asi-Datei sein soll. Wie muss ich denn jetzt vorgehen?

Ich habe schon etwas von komprimieren (oder so) der .cpp-Datei gehört, irgendwas mit g++ und MinGw64. Ich habe selber noch nicht viel Ahnung davon und habe so etwas bis jetzt nur scheiternd versucht.

Deswegen diese Frage: Was muss ich jetzt genau in VS Code und auf meinem PC (Windows 11) installieren und vor allem wenn es wirklich etwas mit diesem MinGw64 zu tun hat, welche Version/Ausführung und was ist mit dem g++ und so weiter?

(g++ soll wohl ein Befehl im Terminal von VS Code sein und MinGw64 ein Compiler soweit ich das gehört habe)

Ach ja, um das gleich mit zu verpacken: Wenn ich die Erweiterung C/C++ in VS Code installiere und dann Code mit z.B.

#include <windows.h >

schreibe, markiert mir das VS Code als Fehler und redet was von IncludePath. Es wäre nett, wenn mir noch jemand verrät, was es damit auf sich hat und wie ich den Fehler beheben kann (es soll wohl auch etwas mit dem Compiler/MinGw64 zutun haben, soweit ich das gehört habe).

Zusammengefasst würde ich einfach nur gerne Klarheit von Leuten haben (die sich damit auskennen), was ich jetzt brauche, für was etwas ist, um am Ende ein kleines GTA5-Skript erstellen zu können, das in .dll oder .asi herauskommt.

Danke schon einmal im Voraus!

programmieren, compiler, Cplusplus, CPP, Programmiersprache, dll-datei, Visual Studio Code
Wie kann ich glfw C++ richtig installieren?

Hallo Leute,

ich programmiere schon eine Weile in C++ aber bisher immer mit Clion weil ich mit Visual Studio einfach nicht zurecht komme. Immer wieder wurde ich von irgendwelchen Fehlermeldungen geplagt und fand wochenlang keine Lösung, bis ich es dann irgendwann aufgab.

Umsteigen wollte ich eigentlich nur, um Third-Party Libraries wie glfw nutzen zu können, aktuell benutze ich nur mingw und kompiliere mit g++.exe ohne irgendwelche drittanbieter-Bibliotheken, weil ich es nie richtig hinbekomme, sie einzubinden.

Selbst wenn ich wie vorgegeben vorging, kam es zu unermütlichen Fehlermeldungen. Deshalb habe ich bis jetzt immer nur auf header onlys zurückgegriffen, merke aber gerade, dass ich ohne glfw nicht weiter komme.

Am liebsten würde ich verstehen, wie ich die Bibliothek richtig einbinde, sodass ich weiterhin mit g++ selbst kompiliere. Ich habe dann schon alle möglichen include Dateien in mingw geworfen und so weiter, aber jedes Mal erfolglos. Als ich das mal in Visual Studio probiert habe, kam es schon beim Startelement zu Problemen weil ich immer irgend einen Fehler mit dem Kompilieren und Ausführen mit Visual habe. Auch Bibliotheken ließen sich nicht ohne Fehlermeldungen installieren.

Ich muss aber jetzt in die gui programmierung einsteigen und habe glfw vorgegeben. Ich muss aber zugeben, dass ich wohl bei der Installation von solchen Bibliotheken ein absoluter Laie bin..

Kann mir jemand helfen, das zum Laufen zu bringen?

Stellt mir doch bitte gerne gezielte Rückfragen, was ihr genau noch wissen wollt, um meine Probleme zu verstehen.

Vielen Dank im Voraus!

Lukas Zander

IT, Cplusplus, CPP, Informatik, Programmiersprache
Was soll ich alles auf Fiverr anbieten (Jugendlicher, Programmierer)?

Hi.

Also ich würde ganz gerne etwas Geld verdienen, vor allem durch's Programmieren. Problem: Ich mache meine Mittlere Reife erst in 2 1/2 Jahren, da ich durch Corona und Inkomepetenz 2. mal eine Klasse wiederholen musste.

Mir wurde mal vorgeschlagen, mich auf Fiverr zu registrieren. Jetzt frage ich mich aber, was ich am besten anbieten sollte. Ich erzähl hier einfach mal, was ich schon so für Zeug gemacht habe, damit ihr wisst, was ich so kann.

Ich hab mit folgenden Dingen schon gearbeitet (also relativ intensiv):

  • Neuronale Netzwerke (relativ "neu") [Tensorflow, Python]
  • Minecraft Plugins [Spigot API, Java]
  • Webseiten (static und und dynamic) [HTML, CSS, JavaScript, Python/PHP/C++]
  • Automatisierungen (vor allem Webseiten) [Selenium, Python]
  • Scrapper [BeatifulSoup, Python]
  • Discord API (z.B. um Daten über User zu kriegen)
  • Discord Bots [Python und Java, von Scratch und mit Library]
  • MySQL Datenbanken [Python, C#]
  • SQLite Datenbanken [Python, C#, Java]
  • WinForms [C#]
  • WPF [C#]
  • REST API's (um genau zu sein eigene gemacht und die Discord API verwendet)
  • win32.dll [Python, C++, C#]
  • YouTubeDLL [Python]
  • Spotify API (z.B. zum Song wechseln, oder Song Daten anzufragen)

Als übersicht, ich "kann" folgende Programmiersprachen (ich weiß, HTML und CSS sind keine Programmiersprachen) [Sortiert nach Skill]:

  • Python
  • C#
  • Java
  • PHP
  • HTML/CSS/JavaScript <- Alles relativ gleich gut
  • C++ (Simple Sachen, wie Web Server)

Wenn man beachtet, was ich kann. Was würdet ihr mir zum anbieten, auf Fiverr, empfehlen?

Danke im vorraus und lg.

Computer, Arbeit, Software, Technik, Geld, HTML, Webseite, Java, Jugendliche, JavaScript, Cplusplus, Minecraft, C Sharp, Freelancer, Jungs, Programmiersprache, Python, fiverr, Discord, Wirtschaft und Finanzen

Meistgelesene Beiträge zum Thema Cplusplus