summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog2/person-tree/Prs_test.cpp
blob: 91e6b701848e65d77db30ada9165b67cc112701d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Tree with Person objects

// Author: Hans-Peter Weber

// Date: 08.05.04



#include <iostream>

using std::cout;

using std::cerr;

using std::cin;

using std::endl;



#include <fstream>

using std::ofstream;

using std::ifstream;

using std::ios;



#include <string>

using std::string;



#include <cstdlib>



#include "tree.h" 

#include "person.h"



int main()

{

   Tree< Person > personTree;

   int fileOrConsole;

   string lastName, firstName;

	

   cout << "Neue Namen eingeben(1) oder vorhandene Datei nutzen(2): ";

   cin >> fileOrConsole;;



   if( fileOrConsole == 1 ) {	

      cout << "Name, Vorname eingeben" << endl

	        << "(Beenden mit 'Strg z'): ";



      ofstream out( "Daten.txt", ios::app );



      if( !out ) {

         cerr << "Datei konnte nicht geoeffnet werden." << endl;

         exit( 1 );

      }



      while( cin >> lastName >> firstName ) {

         out << lastName << " " << firstName  << endl;

         personTree.insertNode( *( new Person( lastName, firstName ) ) );

         cout << "Eingeben: ";

      }

   }

   else {	

      ifstream in( "Daten.txt", ios::in );



      if( !in ) {

         cerr << "Datei konnte nicht geoeffnet werden." << endl;

         exit( 1 );

      }



      while( in >> lastName >> firstName ) {	

         personTree.insertNode( *( new Person( lastName, firstName ) ) );

      }

   }



   cout << "\nInorder traversal\n\n";

   personTree.inOrderTraversal();

   cout << endl << endl;



   return 0;

}