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;
}
|