Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- struct cnct
- {
- char name[1009];
- char mail[1009];
- char number_1[1009];
- char number_2[1009];
- };
- struct cnct a[1000];
- int size;
- void sort(int sz)
- {
- int ipos=0,jpos=0;
- for(ipos=0; ipos<sz; ipos++)
- {
- for(jpos=ipos; jpos<sz; jpos++)
- {
- if(strcmp(a[ipos].name,a[jpos].name)>0)
- {
- struct cnct t=a[ipos];
- a[ipos]=a[jpos];
- a[jpos]=t;
- }
- }
- }
- }
- int main()
- {
- FILE *inp;
- FILE *out;
- FILE *usr;
- inp=fopen("input.txt","r");
- usr=fopen("usr.txt","r");
- int n,i=0,j,command,sub,size=0;
- struct cnct usr_cnct;
- char x[1009];
- while(fscanf(inp,"%s",&a[i].name)!=EOF)
- {
- fscanf(inp,"%s",&a[i].mail);
- fscanf(inp,"%s",&a[i].number_1);
- fscanf(inp,"%s",&a[i].number_2);
- i++;
- size++;
- }
- sort(size);
- fclose(inp);
- while(1)
- {
- printf("Input Command\n1.Append\n2.Delete\n3.Display\n");
- //fgetchar();
- scanf("%d",&command);
- if(command==1 || command==2)
- {
- printf("Input\n1.From file\n2.From console\n");
- scanf("%d",&sub);
- }
- if(command==1)
- {
- if(sub==1)
- {
- fscanf(usr,"%s",&usr_cnct.name);
- fscanf(usr,"%s",&usr_cnct.mail);
- fscanf(usr,"%s",&usr_cnct.number_1);
- fscanf(usr,"%s",&usr_cnct.number_2);
- }
- else
- {
- scanf("%s",&usr_cnct.name);
- scanf("%s",&usr_cnct.mail);
- scanf("%s",&usr_cnct.number_1);
- scanf("%s",&usr_cnct.number_2);
- }
- int is=0,f_pos=size,c,qw;
- for(is=0; is<size; is++)
- {
- c=strcmp(a[is].name,usr_cnct.name);
- if(c>=0)
- {
- f_pos=is;
- break;
- }
- }
- if(strcmp(a[f_pos].name,usr_cnct.name)==0)
- a[f_pos]=usr_cnct;
- else
- {
- for(is=size-1; is>=f_pos; is--)
- a[is+1]=a[is];
- a[f_pos]=usr_cnct;
- size++;
- }
- inp=fopen("input.txt","w");
- for(i=0; i<size; i++)
- {
- fprintf(inp,"%s\n",a[i].name);
- fprintf(inp,"%s\n",a[i].mail);
- fprintf(inp,"%s\n",a[i].number_1);
- fprintf(inp,"%s\n",a[i].number_2);
- }
- fclose(inp);
- }
- else if(command==2)
- {
- if(sub==1)
- fscanf(usr,"%s",&x);
- else
- scanf("%s",&x);
- int del_pos=-1,is,c;
- for(is=0; is<size; is++)
- {
- c=strcmp(a[is].name,x);
- if(c==0)
- {
- del_pos=is;
- break;
- }
- }
- if(del_pos!=-1)
- {
- for(is=del_pos; is<size; is++)
- a[is]=a[is+1];
- size--;
- }
- inp=fopen("input.txt","w");
- for(i=0; i<size; i++)
- {
- fprintf(inp,"%s\n",a[i].name);
- fprintf(inp,"%s\n",a[i].mail);
- fprintf(inp,"%s\n",a[i].number_1);
- fprintf(inp,"%s\n",a[i].number_2);
- }
- fclose(inp);
- }
- else if(command==3)
- {
- for(i=0; i<size; i++)
- {
- printf("%s\n",a[i].name);
- printf("%s\n",a[i].mail);
- printf("%s\n",a[i].number_1);
- printf("%s\n\n",a[i].number_2);
- }
- printf("\n");
- }
- else
- {
- printf("Thanks\n");
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment