sabertooth09

project x%10==0[2]

Dec 1st, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<conio.h>
  4. #include<stdlib.h>
  5.  
  6.  
  7. void clrscr()
  8. {
  9.     system("@cls||clear");
  10. }
  11.  
  12. struct cnct
  13. {
  14.     char area[109];
  15.     char name[109];
  16.     char mail[109];
  17.     char number_1[100];
  18.     char number_2[109];
  19. };
  20.  
  21. struct cnct a[1000];
  22. int size=0;
  23.  
  24.  
  25. void swap(struct cnct a, struct cnct b)
  26. {
  27.     struct cnct t=a;
  28.     a=b;
  29.     b=t;
  30. }
  31.  
  32. void sort(int sz)
  33. {
  34.     int ipos=0,jpos=0;
  35.     for(ipos=0; ipos<sz; ipos++)
  36.     {
  37.         for(jpos=ipos+1; jpos<sz; jpos++)
  38.         {
  39.             if(strcmp(a[ipos].area,a[jpos].area)>0)
  40.             {
  41.                 struct cnct t=a[ipos];
  42.                 a[ipos]=a[jpos];
  43.                 a[jpos]=t;
  44.             }
  45.             else if(strcmp(a[ipos].area,a[jpos].area)==0 && strcmp(a[ipos].name,a[jpos].name)>0)
  46.             {
  47.                 struct cnct t=a[ipos];
  48.                 a[ipos]=a[jpos];
  49.                 a[jpos]=t;
  50.             }
  51.         }
  52.     }
  53. }
  54.  
  55. int main()
  56. {
  57.     FILE *inp;
  58.     FILE *out;
  59.     FILE *usr;
  60.     inp=fopen("input.txt","r");
  61.     usr=fopen("usr.txt","r");
  62.     int n,i=0,j,command,sub,size=0,sub1;
  63.     struct cnct usr_cnct;
  64.     char x[1009],y[1009];
  65.  
  66.     while(fscanf(inp,"%s",&a[i].area)!=EOF)
  67.     {
  68.         fscanf(inp,"%s",&a[i].name);
  69.         fscanf(inp,"%s",&a[i].mail);
  70.         fscanf(inp,"%s",&a[i].number_1);
  71.         fscanf(inp,"%s",&a[i].number_2);
  72.         i++;
  73.         size++;
  74.     }
  75.     sort(size);
  76.     fclose(inp);
  77.     printf("\n\t ----- Welcome to Contact Manager ------");
  78.     while(1)
  79.     {
  80.         printf("\n\n\n\t\t\tMAIN MENU\n\t\t=====================\n\t\t[1] Add a new Contact\n\t\t[2] Delete a Contact\n\t\t[3] List all Contacts\n\t\t[4] Edit a Contact\n\t\t[5] Search for contact\n\t\t[0] Exit\n\t\t=====================\n\t\t");
  81.         printf("Enter the choice:");
  82.         scanf("%d",&command);
  83.         clrscr();
  84.         if(command==1 || command==2 || command==4 )
  85.         {
  86.             system("COLOR 2F");
  87.             printf("\n\t\t|| Input Type ||\n\t\t[1]From file\n\t\t[2]From console\n\t\t");
  88.             printf("Enter the choice:");
  89.             scanf("%d",&sub);
  90.         }
  91.         if(command==1)
  92.         {
  93.             system("COLOR A0");
  94.             printf("\n\t\tADDING a new contact");
  95.             if(sub==1)
  96.             {
  97.                 fscanf(usr,"%s",&usr_cnct.area);
  98.                 fscanf(usr,"%s",&usr_cnct.name);
  99.                 fscanf(usr,"%s",&usr_cnct.mail);
  100.                 fscanf(usr,"%s",&usr_cnct.number_1);
  101.                 fscanf(usr,"%s",&usr_cnct.number_2);
  102.             }
  103.             else
  104.             {
  105.                 printf("\n\t\tAREA:");
  106.                 scanf("%s",&usr_cnct.area);
  107.                 printf("\n\t\tName:");
  108.                 scanf("%s",&usr_cnct.name);
  109.                 printf("\n\t\tMail:");
  110.                 scanf("%s",&usr_cnct.mail);
  111.                 printf("\n\t\tNumber 1");
  112.                 scanf("%s",&usr_cnct.number_1);
  113.                 printf("\n\t\tAlternative number:");
  114.                 scanf("%s",&usr_cnct.number_2);
  115.             }
  116.             int is=0,f_pos=size,c,qw,d;
  117.             for(is=0; is<size; is++)
  118.             {
  119.                 d=strcmp(a[is].area,usr_cnct.area);
  120.                 c=strcmp(a[is].name,usr_cnct.name);
  121.                 if(c>=0 && d>=0)
  122.                 {
  123.                     f_pos=is;
  124.                     break;
  125.                 }
  126.             }
  127.             if(strcmp(a[f_pos].name,usr_cnct.name)==0)
  128.                 a[f_pos]=usr_cnct;
  129.             else
  130.             {
  131.                 for(is=size-1; is>=f_pos; is--)
  132.                     a[is+1]=a[is];
  133.                 a[f_pos]=usr_cnct;
  134.                 size++;
  135.             }
  136.  
  137.             inp=fopen("input.txt","w");
  138.             for(i=0; i<size; i++)
  139.             {
  140.                 fprintf(inp,"%s\n",a[i].area);
  141.                 fprintf(inp,"%s\n",a[i].name);
  142.                 fprintf(inp,"%s\n",a[i].mail);
  143.                 fprintf(inp,"%s\n",a[i].number_1);
  144.                 fprintf(inp,"%s\n",a[i].number_2);
  145.             }
  146.             fclose(inp);
  147.             clrscr();
  148.         }
  149.         else if(command==2)
  150.         {
  151.             system("COLOR 97");
  152.             printf("\n\t\tDELETING A CONTACT");
  153.             if(sub==1)
  154.             {
  155.                 fscanf(usr,"%s",&x);
  156.                 fscanf(usr,"%s",&y);
  157.             }
  158.             else
  159.             {
  160.                 printf("\n\t\tAREA NAME:");
  161.                 scanf("%s",&x);
  162.                 printf("\n\t\tPerson name:");
  163.                 scanf("%s",&y);
  164.             }
  165.  
  166.             int del_pos=-1,is,c,d;
  167.             for(is=0; is<size; is++)
  168.             {
  169.                 d=strcmp(a[is].area,x);
  170.                 c=strcmp(a[is].name,y);
  171.                 if(c==0 && d==0)
  172.                 {
  173.                     del_pos=is;
  174.                     break;
  175.                 }
  176.             }
  177.             if(del_pos!=-1)
  178.             {
  179.                 for(is=del_pos; is<size; is++)
  180.                     a[is]=a[is+1];
  181.                 size--;
  182.             }
  183.             else
  184.                 printf("Invalid Input\n");
  185.  
  186.             inp=fopen("input.txt","w");
  187.             for(i=0; i<size; i++)
  188.             {
  189.                 fprintf(inp,"%s\n",a[i].area);
  190.                 fprintf(inp,"%s\n",a[i].name);
  191.                 fprintf(inp,"%s\n",a[i].mail);
  192.                 fprintf(inp,"%s\n",a[i].number_1);
  193.                 fprintf(inp,"%s\n",a[i].number_2);
  194.             }
  195.             fclose(inp);
  196.         }
  197.         else if(command==3)
  198.         {
  199.             system("COLOR 0E");
  200.             printf("\n===========================================================");
  201.             printf("\n\t\tViewing all contacts\n");
  202.             for(i=0; i<size; i++)
  203.             {
  204.                 printf("\n===========================================================");
  205.                 if(i==0)
  206.                     printf("\n===========================================================");
  207.                 printf("\n\n\t\tArea: %s\n",a[i].area);
  208.                 printf("\n\t\tName: %s\n",a[i].name);
  209.                 printf("\n\t\tEmail: %s\n",a[i].mail);
  210.                 printf("\n\t\tPhone number: %s\n",a[i].number_1);
  211.                 printf("\n\t\tAlternative Phone: %s\n\n",a[i].number_2);
  212.                 printf("\n===========================================================");
  213.                 if(i==size-1)
  214.                     printf("\n===========================================================");
  215.             }
  216.             printf("\n");
  217.             printf("\n\t\tType anything to go to main menu");
  218.             getchar();
  219.             getchar();
  220.             clrscr();
  221.         }
  222.         else if(command==4)
  223.         {
  224.             system("COLOR B0");
  225.             printf("\n\t\tUpdating Menu");
  226.             if(sub==1)
  227.             {
  228.                 fscanf(usr,"%s",&usr_cnct.area);
  229.                 fscanf(usr,"%s",&usr_cnct.name);
  230.                 fscanf(usr,"%s",&usr_cnct.mail);
  231.                 fscanf(usr,"%s",&usr_cnct.number_1);
  232.                 fscanf(usr,"%s",&usr_cnct.number_2);
  233.             }
  234.             else
  235.             {
  236.                 printf("\n\t\tAREA:");
  237.                 scanf("%s",&usr_cnct.area);
  238.                 printf("\n\t\tName:");
  239.                 scanf("%s",&usr_cnct.name);
  240.                 printf("\n\t\tMail:");
  241.                 scanf("%s",&usr_cnct.mail);
  242.                 printf("\n\t\tNumber 1");
  243.                 scanf("%s",&usr_cnct.number_1);
  244.                 printf("\n\t\tAlternative number:");
  245.                 scanf("%s",&usr_cnct.number_2);
  246.             }
  247.             int is=0,f_pos=size,c,qw,d;
  248.             for(is=0; is<size; is++)
  249.             {
  250.                 d=strcmp(a[is].area,usr_cnct.area);
  251.                 c=strcmp(a[is].name,usr_cnct.name);
  252.                 if(c==0 && d==0)
  253.                 {
  254.                     a[is]=usr_cnct;
  255.                     break;
  256.                 }
  257.             }
  258.  
  259.             inp=fopen("input.txt","w");
  260.             for(i=0; i<size; i++)
  261.             {
  262.                 fprintf(inp,"%s\n",a[i].area);
  263.                 fprintf(inp,"%s\n",a[i].name);
  264.                 fprintf(inp,"%s\n",a[i].mail);
  265.                 fprintf(inp,"%s\n",a[i].number_1);
  266.                 fprintf(inp,"%s\n",a[i].number_2);
  267.             }
  268.             fclose(inp);
  269.             clrscr();
  270.         }
  271.         else if(command==5)
  272.         {
  273.             system("COLOR 20");
  274.             printf("\n\t\tSearching menu");
  275.             printf("\n\t\tSearch by\n\t\t[1].Name and area\n\t\t[2].Search by Number");
  276.             printf("\n\t\tChoose an option: ");
  277.             scanf("%d",&sub);
  278.             if(sub==1)
  279.             {
  280.                 printf("\n\t\t|| Input Type ||\n\t\t[1]From file\n\t\t[2]From console\n\t\t");
  281.                 printf("Enter the choice:");
  282.                 scanf("%d",&sub1);
  283.                 if(sub1==1)
  284.                 {
  285.                     fscanf(usr,"%s",&x);
  286.                     fscanf(usr,"%s",&y);
  287.                 }
  288.                 else
  289.                 {
  290.                     printf("\n\t\tUser area:");
  291.                     scanf("%s",&x);
  292.                     printf("\n\t\tUser name");
  293.                     scanf("%s",&y);
  294.                 }
  295.                 int fin_pos=-1,is,c,d;
  296.                 for(is=0; is<size; is++)
  297.                 {
  298.                     d=strcmp(a[is].area,x);
  299.                     c=strcmp(a[is].name,y);
  300.                     if(c==0 && d==0)
  301.                     {
  302.                         fin_pos=is;
  303.                         break;
  304.                     }
  305.                 }
  306.                 if(fin_pos!=-1)
  307.                 {
  308.                     printf("FOUND!\n===========================================================\n");
  309.                     printf("\tArea: %s\n",a[fin_pos].area);
  310.                     printf("\tName: %s\n",a[fin_pos].name);
  311.                     printf("\tEmail: %s\n",a[fin_pos].mail);
  312.                     printf("\tPhone number: %s\n",a[fin_pos].number_1);
  313.                     printf("\tAlternative number: %s\n===========================================================\n",a[fin_pos].number_2);
  314.  
  315.                 }
  316.                 else
  317.                     printf("\n\tInvalid Input\n\t");
  318.                 printf("\n\t\tType anything to go to main menu");
  319.                 getchar();
  320.                 getchar();
  321.                 clrscr();
  322.             }
  323.             else
  324.             {
  325.                 printf("\n\t\t|| Input Type ||\n\t\t[1]From file\n\t\t[2]From console\n\t\t");
  326.                 printf("Enter the choice:");
  327.                 scanf("%d",&sub1);
  328.                 if(sub==1)
  329.                 {
  330.                     //printf("\n\t\tUser Number:")
  331.                     fscanf(usr,"%s",&x);
  332.                     //fscanf(usr,"%s",&y);
  333.                 }
  334.                 else
  335.                 {
  336.                     printf("\n\t\tUser number:");
  337.                     scanf("%s",&x);
  338.                     //scanf("%s",&y);
  339.                 }
  340.                 int fin_pos=-1,is,c,d;
  341.                 for(is=0; is<size; is++)
  342.                 {
  343.                     d=strcmp(a[is].number_1,x);
  344.                     if(c==0)
  345.                     {
  346.                         fin_pos=is;
  347.                         break;
  348.                     }
  349.                 }
  350.                 if(fin_pos!=-1)
  351.                 {
  352.                     printf("FOUND!\n===========================================================\n");
  353.                     printf("\tArea: %s\n",a[fin_pos].area);
  354.                     printf("\tName: %s\n",a[fin_pos].name);
  355.                     printf("\tEmail: %s\n",a[fin_pos].mail);
  356.                     printf("\tPhone number: %s\n",a[fin_pos].number_1);
  357.                     printf("\tAlternative number: %s\n===========================================================\n",a[fin_pos].number_2);
  358.  
  359.                 }
  360.                 else
  361.                     printf("\n\tInvalid Input\n\t");
  362.                 printf("\n\t\tType anything to go to main menu");
  363.                 getchar();
  364.                 getchar();
  365.                 clrscr();
  366.  
  367.             }
  368.         }
  369.  
  370.         else
  371.         {
  372.             system("COLOR 4E");
  373.             printf("\n\t\t--Thanks--\n\t");
  374.             break;
  375.         }
  376.     }
  377.     return 0;
  378. }
Add Comment
Please, Sign In to add comment