// // main.cpp // ADS P3 // #define CATCH_CONFIG_RUNNER #include "Tree.h" #include "catch.h" #include #include 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; }