Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <malloc.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <string.h>
- void clrscr() {
- system("@cls||clear");
- }
- struct node{
- int key;
- char name[50];
- struct node *left, *right;
- };
- struct node *newnode (int item, char nama) {
- struct node *temp = (struct node*)malloc(sizeof(struct node));
- temp->key=item;
- temp->left=temp->right=NULL;
- temp->name = nama;
- return temp;
- }
- void inorder(struct node *root) {
- if (root!=NULL) {
- inorder(root->left);
- printf("%d \n", root->key);
- inorder(root->right);
- }
- }
- struct node* insert(struct node* node, int key) {
- if (node==NULL) return newnode(key);
- if (key<node->key) node->left = insert(node->left, key);
- else if(key>node->key) node->right=insert(node->right,key);
- return node;
- }
- void menu() {
- printf("PINK LIBRARY\n");
- printf("************\n\n");
- printf("1. View all book\n");
- printf("2. Add book\n");
- printf("3. Remove book\n");
- printf("4. Inorder, Preorder, Postorder\n");
- printf("5. Exit and remove all\n\n");
- }
- int main() {
- struct node *root = NULL;
- int pil, number;
- char name[50];
- do {
- clrscr();
- menu();
- root = insert(root, 50);
- printf("> Input choice : ");
- scanf("%d", &pil);
- switch(pil) {
- case 1: {
- if (root==NULL) {
- clrscr();
- printf("\n\n\n\t\t--- There is no node available !!! ---");
- getch();
- }
- else {
- clrscr();
- printf("BOOK LIST\n");
- printf("*********\n");
- printf("- Senja di ufuk malam <1>\n");
- printf("- Srikandi barat <2>\n");
- getch();
- }
- break;
- }
- case 2: {
- do{
- printf("\nInput book name [3..50] : ");
- scanf("%s",&name);
- }while(strlen(name)<3 || strlen(name)>50);
- do{
- printf("\nInput book number [0..100] : ");
- scanf("%d",&number);
- }while(number<0 || number>100);
- newnode(number, name);
- break;
- }
- case 3: {
- break;
- }
- case 4: {
- break;
- }
- }
- }while(pil!=5);
- root = insert(root, 50);
- insert(root,30);
- insert(root,40);
- insert(root,50);
- insert(root,10);
- inorder(root);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment