Files
ADS/P3/main.cpp
2025-02-21 13:17:35 +01:00

108 lines
2.2 KiB
C++
Executable File

//
// main.cpp
// ADS P3
//
#define CATCH_CONFIG_RUNNER
#include "Tree.h"
#include "catch.h"
#include <iostream>
#include <fstream>
void mainscreen_addTreeCSV(Tree*& ref) {
char response;
cout << "+ Moechten Sie die Daten aus der Datei ExportZielanalyse.csv "
"importieren(j / n) \n?> ";
cin >> response;
if (response == 'j') {
ifstream csvread;
csvread.open("../ExportZielanalyse.csv", ios::in);
if (!csvread.is_open()) {
cout << "Fehler beim Lesen!" << endl;
return;
}
else {
string name, age, postcode, income;
while (!csvread.eof()) {
getline(csvread, name, ';');
getline(csvread, age, ';');
getline(csvread, income, ';');
getline(csvread, postcode, '\n');
ref->addNode(name, stoi(age), stod(income), stoi(postcode));
}
csvread.close();
}
cout << "+ Daten wurden dem Baum hinzugefuegt." << endl;
}
}
int main() {
int result = Catch::Session().run();
Tree* m_Baum = new Tree();
int engb;
while (true) {
cout << "====================================\n"
"1) Datensatz einfuegen, manuell\n"
"2) Datensatz einfuegen, CSV Datei\n"
"3) Suchen\n"
"4) Ausgabe in Levelorder\n"
"5) Ausgabe in Levelorder (mit Niveauauswahl)\n"
"6) Beenden\n"
"?> ";
cin >> engb;
switch (engb) {
case 1: {
string name;
int alter, plz;
double einkommen;
cout << "\n+ Bitte geben Sie die den Datensatz ein"
"\nName \n?> ";
cin >> name;
cout << "\nAlter \n?> ";
cin >> alter;
cout << "\nEinkommen \n?> ";
cin >> einkommen;
cout << "\nPLZ \n?> ";
cin >> plz;
m_Baum->addNode(name, alter, einkommen, plz);
cout << "\n+ Ihr Datensatz wurde eingefuegt" << endl;
break;
}
case 2: {
mainscreen_addTreeCSV(m_Baum);
break;
}
case 3: {
string name;
cout << "+ Bitte geben Sie den zu suchenden Datensatz an\n"
"Name ?> ";
cin >> name;
cout << "+ Fundstellen:\n";
m_Baum->searchNode(name);
break;
}
case 4: {
m_Baum->printLevelOrder();
break;
}
case 5: {
int niveau;
cout << "\n+ Bitte geben Sie das Niveau ein"
"\nNiveau \n?> ";
cin >> niveau;
m_Baum->print234Tree(niveau);
break;
}
case 6: {
return 0;
}
}
};
return 0;
}