Advertisement
Susri

telephonebook

Feb 21st, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.28 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef struct Telephonebook
  4. {
  5.     char name;
  6.     struct Telephonebook *next;
  7. }telephonebook;
  8. int main()
  9. {
  10.     telephonebook *start,*temp;
  11.     start=(telephonebook*)malloc(sizeof(telephonebook));
  12.     temp=start;
  13.     temp->next=NULL;
  14.  
  15.         printf("1.Add\n");
  16.             printf("2.Delete\n");
  17.                 printf("3.Search\n");
  18.     printf("4.Display\n");
  19.     while(1)
  20.     {
  21.         int query;
  22. char name;
  23.         scanf("%d",&query);
  24.         switch(query){
  25.         case 1:
  26.             scanf("%c",&name);
  27.             add(start,name);
  28.             break;
  29.                     case 2:
  30.             scanf("%c",&name);
  31.             delete(start,name);
  32.             break;
  33.                     case 3:
  34.                         scanf("%c",&name);
  35.             int status=search(start,name);
  36.             if(status)
  37.                 printf("Element Found\n");
  38.             else
  39.             printf("Element Not Found\n");
  40.  
  41.  
  42.             break;
  43.                     case 4:
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.             printf("The list is ");
  51.             display(start->next);
  52.             break;
  53.  
  54.  
  55.  
  56.  
  57.         }
  58.     }
  59.  
  60.  
  61.  
  62.  
  63. }
  64. void add (telephonebook *pointer,char name)
  65. {
  66.     while(pointer->next!=NULL)
  67.     {
  68.         pointer=pointer->next;
  69.     }
  70.     pointer->next=(telephonebook*)malloc(sizeof(telephonebook));
  71.     pointer=pointer->next;
  72.         pointer->name=name;
  73.         pointer->next=NULL;
  74.  
  75.  
  76. }
  77. void delete(telephonebook *pointer,char name)
  78. {
  79.         while(pointer->next!=NULL && (pointer->next)->name!=name)
  80.         {
  81.                    pointer=pointer->next;
  82.  
  83.         }
  84.         if(pointer->next==NULL)
  85.         {
  86.             printf("Element %d is not present in the list\n",name);
  87.             return;
  88.         }
  89.         telephonebook *temp;
  90.         temp=pointer->next;
  91.         pointer->next=temp->next;
  92.         free(temp);
  93.  
  94.         return;
  95.  
  96. }
  97. void search(telephonebook *pointer,char key)
  98. {
  99.     pointer=pointer->next;
  100.     while(pointer!=NULL)
  101.     {
  102.         if(pointer->name== key)
  103.         {
  104.             return 1;
  105.         }
  106.         pointer=pointer->next;
  107.     }
  108.  
  109.     return 0;
  110. }
  111. void display(telephonebook *pointer)
  112. {
  113.     if(pointer==NULL){
  114.         return;
  115.     }
  116.  
  117.     printf("%c",pointer->name);
  118.     display(pointer->next);
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement