108 lines
2.2 KiB
C++
Executable File
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;
|
|
}
|