summaryrefslogtreecommitdiff
path: root/BTree/bt_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'BTree/bt_main.c')
-rw-r--r--BTree/bt_main.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/BTree/bt_main.c b/BTree/bt_main.c
new file mode 100644
index 0000000..939a0c5
--- /dev/null
+++ b/BTree/bt_main.c
@@ -0,0 +1,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);
+}