Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct node
- {
- int a;
- char b[50];
- char c[50];
- struct node *next, *prev;
- }node;
- node *head=NULL, *tail=NULL;
- void addbooks()
- {
- node *N=(node*)malloc(sizeof(node));
- printf("Enter Book ID:\n");
- scanf("%d", &N->a);
- printf("Enter Book Name:\n");
- scanf(" %[^\n]", N->b);
- printf("Enter the Author Name:\n");
- scanf(" %[^\n]", N->c);
- N->next=NULL;
- N->prev=NULL;
- if(head==NULL)
- {
- head=N;
- tail=N;
- }
- else
- {
- tail->next=N;
- N->prev=tail;
- tail=N;
- }
- printf("The record is sucessfully saved!\n");
- printf(" 1. Menu\n");
- printf(" 2. Exit\n");
- printf(" 3. Add Books Again.\n");
- printf("\nChoose an option.\n");
- int y;
- scanf("%d",&y);
- switch(y)
- {
- case 1:
- {
- menu();
- break;
- }
- case 2:
- {
- exit(0);
- break;
- }
- case 3:
- {
- addbooks();
- break;
- }
- default :
- {
- printf("You've Chosen A Wrong Option!!\n\n");
- menu();
- break;
- }
- }
- }
- void delete_by_value()
- {
- node *temp;
- node *list=head;
- {
- int x;
- printf("Enter the BookID:\n");
- scanf("%d", &x);
- if(head==NULL)
- {
- printf("There's Nothing Still.\n");
- }
- else
- {
- if(head->a==x)
- {
- temp=head;
- head=temp->next;
- free(temp);
- }
- else if(tail->a==x)
- {
- temp=tail;
- temp->prev->next=NULL;
- tail=temp->prev;
- free(temp);
- }
- else
- {
- while(list->next->a!=x && list->next->next!=NULL)
- {
- list=list->next;
- }
- temp=list->next;
- temp->prev->next=temp->next;
- temp->next->prev=temp->prev;
- free(temp);
- }
- }
- }
- printf("The record is sucessfully deleted!!\n");
- printf(" 1. Delete Book Again.\n");
- printf(" 2. Menu\n");
- printf(" 3. Exit\n");
- printf("\nChoose an option.\n");
- int z;
- scanf("%d",&z);
- switch(z)
- {
- case 1:
- {
- deletebooks();
- break;
- }
- case 2:
- {
- menu();
- break;
- }
- case 3:
- {
- exit(0);
- break;
- }
- default :
- {
- printf("You've Chosen A Wrong Option!!\n\n");
- menu();
- break;
- }
- }
- }
- void delete_by_name()
- {
- node *temp;
- node *list=head;
- {
- char x;
- printf("Enter the Book Name:\n");
- scanf(" %[^\n]", x);
- if(head==NULL)
- {
- printf("There's Nothing Still.\n");
- }
- else
- {
- if(head->b==x)
- {
- temp=head;
- head=temp->next;
- free(temp);
- }
- else if(tail->b==x)
- {
- temp=tail;
- temp->prev->next=NULL;
- tail=temp->prev;
- free(temp);
- }
- else
- {
- while(list->next->b!=x && list->next->next!=NULL)
- {
- list=list->next;
- }
- temp=list->next;
- temp->prev->next=temp->next;
- temp->next->prev=temp->prev;
- free(temp);
- }
- }
- }
- printf("The record is sucessfully deleted!!\n");
- printf(" 1. Delete Book Again.\n");
- printf(" 2. Menu\n");
- printf(" 3. Exit\n");
- printf("\nChoose an option.\n");
- int z;
- scanf("%d",&z);
- switch(z)
- {
- case 1:
- {
- deletebooks();
- break;
- }
- case 2:
- {
- menu();
- break;
- }
- case 3:
- {
- exit(0);
- break;
- }
- default :
- {
- printf("You've Chosen A Wrong Option!!\n\n");
- menu();
- break;
- }
- }
- }
- void deletebooks()
- {
- printf(" 1. Delete by BookID\n");
- printf(" 2. Delete by BookName\n");
- printf("\nChoose an option.\n");
- int z;
- scanf("%d",&z);
- switch(z)
- {
- case 1:
- {
- delete_by_value();
- break;
- }
- case 2:
- {
- delete_by_name();
- break;
- }
- case 3:
- {
- exit(0);
- break;
- }
- default :
- {
- printf("You've Chosen A Wrong Option!!\n\n");
- menu();
- break;
- }
- }
- }
- void display()
- {
- node *list=head;
- while(list!=NULL)
- {
- printf("Book ID: %d\n", list->a);
- printf("Book Name: %s\n", list->b);
- printf("Author Name: %s\n", list->c);
- list=list->next;
- }
- }
- void menu()
- {
- printf("\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2 MAIN MENU \xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2\n");
- printf(" 1.Add\n");
- printf(" 2.Delete\n");
- printf(" 3.Search\n");
- printf(" 4.Display\n");
- printf(" 5.Exit\n");
- printf("Choose a option:");
- int x;
- scanf("%d",&x);
- switch(x)
- {
- case 1:
- {
- addbooks();
- break;
- }
- case 2:
- {
- deletebooks();
- break;
- }
- case 3:
- {
- exit(0);
- break;
- }
- default :
- {
- printf("You Choose A Wrong option!!\n\n");
- menu();
- break;
- }
- }
- }
- int main()
- {
- menu();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement