summaryrefslogtreecommitdiff
path: root/BTree/bt_main.c
blob: 939a0c5168ab07c53d7155ead3d6f644dd8d5010 (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
#include <stdio.h>
#include <stdlib.h>
#include "btree.h"
#include "bt_data.h"

void init_interface(void)
{
	while (1) {
		char op;

		system("clear");
		printf("Please, select an option:\n");
		printf("1: add new item\n"
		       "2: delete item\n"
		       "3: search item\n"
		       "4: Dump Tree\n"
		       "5: Quit\n");
		printf("Enter your option: ");
		scanf(" %c", &op);

		switch(atoi(&op)) {
			case 1:
				add_item();
				break;
			case 2:
				btree_delete();
				break;
			case 3:
				btree_search();
				break;
			case 4:
				btree_dump();
				break;
			case 5:
				goto out;
			default:
				usage();
				break;
		}
	}
out:
	return;
}
int main(void)
{
	struct	BTree_head	*head;

	/* Initialize BTree Head */
	head = init_head();

	if (!head) {
		printf("Unable to initialize BTree head\n");
		goto exit_error;
	}

	init_interface();

	destroy_head(head);
	return 0;

exit_error:
	exit(1);
}