A Simple Database Using Linked List
A Simple Database Using Linked List :-
___________________________________________________________________________________________________________________
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct table
{
char name[50];
char add[50];
int age;
int salary;
struct table *next;
};
struct table *head;
void insert();
void sort();
void create();
void dis();
void search();
void del();
void main()
{
int i,choice;
clrscr();
head=NULL;
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t WELCOME TO YOUR DATABASE\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\tEnter any key to continue......\n");
getch();
clrscr();
printf("\n\n\n\n");
while(1)
{
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\n\t\t\t1-for create list\n\n");
printf("\t\t\t2-for sort list\n\n");
printf("\t\t\t3-search data item\n\n");
printf("\t\t\t4-insert item\n\n");
printf("\t\t\t5-delete item\n\n");
printf("\t\t\t6-display list\n\n");
printf("\t\t\t7-exit program\n\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t\tenter your choice\n\t\t\t");
scanf("%d",&choice);
switch(choice)
{
case 1:
clrscr();
create();
dis();
break;
case 2:
//create();
printf("before sorting\n\n\n");
fflush(stdin);
dis();
fflush(stdin);
sort();
printf("\nafter sorting\n\n\n");
fflush(stdin);
dis();
break;
case 3:
//create();
dis();
search();
break;
case 4:
insert();
//sort();
dis();
break;
case 5:
del();
dis();
break;
case 6:
dis();
break;
case 7:
exit();
default:
printf("\n\n\t\t\twrong choice\n");
getch();
exit();
}
getch();
}
}
void sort()
{
int choice,i,j,temp1,temp2,c=0;
char s[50],q[50];
struct table *p;
p=head;
while(p!=NULL)
{
c++;
p=p->next;
}
// printf("c=%d",c);
getch();
clrscr();
// do
//{
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tpress 1-sort by age\n");
printf("\t\t\tpress 2-sort by name\n");
printf("\t\t\tpress 3-sort by add\n");
printf("\t\t\tpress 4-sort by salary\n\n\n");
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter choice\n\t\t\t");
fflush(stdin);
scanf("%d",&choice);
fflush(stdin);
switch(choice)
{
case 1:
for(i=1;i<=c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if(p->next->age<p->age)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 2:
//c=1;
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(p->next->name,p->name))<=0)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 3:
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(p->next->add,p->add))<0)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 4:
{
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if(p->next->salary<p->salary)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
}
break;
}
}
void create()
{
FILE *j;
struct table *k,*l;
char ch;
char p[50],q[50];
int a,b,i;
getch();
clrscr();
k=(struct table *)malloc(sizeof(struct table));
head=k;
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\t\t\tenter address\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\t\t\tenter age\n\t\t\t");
scanf("%d",&a);
printf("\n\t\t\tenter salary\n\t\t\t");
scanf("%d",&b);
strcpy(k->name,p);
strcpy(k->add,q);
k->age=a;
k->salary=b;
k->next=NULL;
do
{
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
l= (struct table *)malloc(sizeof(struct table));
k->next=l;
k=l;
printf("\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\t\t\tenter address\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\t\t\tenter age\n\t\t\t");
scanf("%d",&a);
printf("\n\t\t\tenter salary\n\t\t\t");
scanf("%d",&b);
strcpy(l->name,p);
strcpy(l->add,q);
l->age=a;
l->salary=b;
l->next=NULL;
printf("\n\n\t\t\tenter choice (y/n)\n\t\t\t");
fflush(stdin);
scanf("%c",&ch);
}while (ch!='n');
}
void search()
{
char na[10];
int i,c=0,ag,j,choice;
struct table *l,*p,*q;
getch();
clrscr();
p=head;
while(p!=NULL)
{
c++;
p=p->next;
}
l=(struct table *)malloc(sizeof(struct table));
l->next=NULL;
p->next=l;
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\t1-search by name\n");
printf("\t\t\t2-search by address\n");
printf("\t\t\t3-search by age\n");
printf("\t\t\t4-search by salary\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter your choice\n\n\t");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the name u want to serach\n\n\n\t");
fflush(stdin);
gets(na);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if((strcmp(p->name,na))==0)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
j++;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
case 2:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the address u want to serach\n\n\n\t");
fflush(stdin);
gets(na);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if((strcmp(p->add,na))==0)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("\n\n\n\n\t\tserach complete data not found\n");
}
break;
case 3:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the age u want to serach\n\n\n\t");
fflush(stdin);
scanf("%d",&ag);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if(p->age==ag)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
case 4:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the salary u want to serach\n\n\n\t");
fflush(stdin);
scanf("%d",&ag);
p=head;
while(p->next!=NULL)
{
if(p->salary==ag)
{
printf("\t\n\nsearch complete data found \n\n\n");
printf("\t%s\t%s\t%d\t%d\n\n\n",p->name,p->add,p->age,p->salary);
break;
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
}
p=head;
while(p!=NULL)
{
q=p;
p=p->next;
}
q->next=NULL;
free(p);
}
void dis()
{
struct table *q;
int i;
clrscr();
printf("\t\t\tNAME\tADDRESS\tAGE\tSALRY\n\n");
printf("\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
q=head;
while(q!=NULL)
{
printf("\n\n\t\t\t%s\t%s\t%d\t%d\n",q->name,q->add,q->age,q->salary);
q=q->next;
}
printf("\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
getch();
}
void insert()
{
int c=0,i,l,j,temp1,temp2;
char s[50],p[50],q[50];
struct table *ph,*m,*t;
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\n\n\n\t\t\tenter add\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\n\n\n\t\t\tenter age\n\t\t\t");
fflush(stdin);
scanf("%d",&l);
printf("\n\n\n\n\t\t\tenter salary\n\t\t\t");
fflush(stdin);
scanf("%d",&j);
m=(struct table *)malloc (sizeof(struct table));
m->next=NULL;
strcpy(m->name,p);
strcpy(m->add,q);
m->age=l;
m->salary=j;
t=head;
while(t->next!=NULL)
{
t=t->next;
}
t->next=m;
t=head;
while(t!=NULL)
{
c++;
t=t->next;
}
for(i=1;i<c;i++)
{
ph=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(ph->next->name,ph->name))<=0)
{
strcpy(s,ph->next->name);
strcpy(q,ph->next->add);
temp1=ph->next->age;
temp2=ph->next->salary;
strcpy(ph->next->name,ph->name);
strcpy(ph->next->add,ph->add);
ph->next->age=ph->age;
ph->next->salary=ph->salary;
strcpy(ph->name,s);
strcpy(ph->add,q);
ph->age=temp1;
ph->salary=temp2;
}
ph=ph->next;
}
}
}
void del()
{
int i,choice,gh;
char n[50];
struct table *p,*q;
clrscr();
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\t1-del by name\n");
printf("\n\t\t\t2-del by add\n");
printf("\n\t\t\t3-del by age\n");
printf("\n\t\t\t4-del by salary\n\n\n");
for(i=0;i<80;i++)
printf("-");
printf("\n\t\t\tEnter your choice\n\t\t\t");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter name to delete\n\t\t\t");
fflush(stdin);
gets(n);
p=head;
if((p==head)&&(strcmp(p->name,n)==0))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if(strcmp(p->name,n)==0)
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 2:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter add to delete\n\t\t\t");
fflush(stdin);
gets(n);
p=head;
if((p==head)&&(strcmp(p->add,n)==0))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if(strcmp(p->add,n)==0)
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 3:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter age to delete\n\t\t\t");
fflush(stdin);
scanf("%d",&gh);
p=head;
if((p==head)&&(p->age==gh))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if((p->age==gh))
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 4:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter salary to delete\n\t\t\t");
fflush(stdin);
scanf("%d",&gh);
p=head;
if((p==head)&&((p->salary==gh)))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if((p->salary==gh))
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
}
}
_____________________________________________________________________________________
JUST USE IT BY COPY PASTING THE CODE AND SAVE THE FILE AS anyname.c THEN COMPILE IT AND USE , ANY DOUBT CAN BE ASKED...
U CAN CATCHME AT http://www.facebook.com/salokr.
___________________________________________________________________________________________________________________
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct table
{
char name[50];
char add[50];
int age;
int salary;
struct table *next;
};
struct table *head;
void insert();
void sort();
void create();
void dis();
void search();
void del();
void main()
{
int i,choice;
clrscr();
head=NULL;
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t WELCOME TO YOUR DATABASE\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\tEnter any key to continue......\n");
getch();
clrscr();
printf("\n\n\n\n");
while(1)
{
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\n\t\t\t1-for create list\n\n");
printf("\t\t\t2-for sort list\n\n");
printf("\t\t\t3-search data item\n\n");
printf("\t\t\t4-insert item\n\n");
printf("\t\t\t5-delete item\n\n");
printf("\t\t\t6-display list\n\n");
printf("\t\t\t7-exit program\n\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t\tenter your choice\n\t\t\t");
scanf("%d",&choice);
switch(choice)
{
case 1:
clrscr();
create();
dis();
break;
case 2:
//create();
printf("before sorting\n\n\n");
fflush(stdin);
dis();
fflush(stdin);
sort();
printf("\nafter sorting\n\n\n");
fflush(stdin);
dis();
break;
case 3:
//create();
dis();
search();
break;
case 4:
insert();
//sort();
dis();
break;
case 5:
del();
dis();
break;
case 6:
dis();
break;
case 7:
exit();
default:
printf("\n\n\t\t\twrong choice\n");
getch();
exit();
}
getch();
}
}
void sort()
{
int choice,i,j,temp1,temp2,c=0;
char s[50],q[50];
struct table *p;
p=head;
while(p!=NULL)
{
c++;
p=p->next;
}
// printf("c=%d",c);
getch();
clrscr();
// do
//{
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tpress 1-sort by age\n");
printf("\t\t\tpress 2-sort by name\n");
printf("\t\t\tpress 3-sort by add\n");
printf("\t\t\tpress 4-sort by salary\n\n\n");
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter choice\n\t\t\t");
fflush(stdin);
scanf("%d",&choice);
fflush(stdin);
switch(choice)
{
case 1:
for(i=1;i<=c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if(p->next->age<p->age)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 2:
//c=1;
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(p->next->name,p->name))<=0)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 3:
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(p->next->add,p->add))<0)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
break;
case 4:
{
for(i=1;i<c;i++)
{
p=head;
for(j=1;j<=c-i;j++)
{
if(p->next->salary<p->salary)
{
strcpy(s,p->next->name);
strcpy(q,p->next->add);
temp1=p->next->age;
temp2=p->next->salary;
strcpy(p->next->name,p->name);
strcpy(p->next->add,p->add);
p->next->age=p->age;
p->next->salary=p->salary;
strcpy(p->name,s);
strcpy(p->add,q);
p->age=temp1;
p->salary=temp2;
}
p=p->next;
}
}
}
break;
}
}
void create()
{
FILE *j;
struct table *k,*l;
char ch;
char p[50],q[50];
int a,b,i;
getch();
clrscr();
k=(struct table *)malloc(sizeof(struct table));
head=k;
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\t\t\tenter address\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\t\t\tenter age\n\t\t\t");
scanf("%d",&a);
printf("\n\t\t\tenter salary\n\t\t\t");
scanf("%d",&b);
strcpy(k->name,p);
strcpy(k->add,q);
k->age=a;
k->salary=b;
k->next=NULL;
do
{
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
l= (struct table *)malloc(sizeof(struct table));
k->next=l;
k=l;
printf("\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\t\t\tenter address\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\t\t\tenter age\n\t\t\t");
scanf("%d",&a);
printf("\n\t\t\tenter salary\n\t\t\t");
scanf("%d",&b);
strcpy(l->name,p);
strcpy(l->add,q);
l->age=a;
l->salary=b;
l->next=NULL;
printf("\n\n\t\t\tenter choice (y/n)\n\t\t\t");
fflush(stdin);
scanf("%c",&ch);
}while (ch!='n');
}
void search()
{
char na[10];
int i,c=0,ag,j,choice;
struct table *l,*p,*q;
getch();
clrscr();
p=head;
while(p!=NULL)
{
c++;
p=p->next;
}
l=(struct table *)malloc(sizeof(struct table));
l->next=NULL;
p->next=l;
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\t\t\t1-search by name\n");
printf("\t\t\t2-search by address\n");
printf("\t\t\t3-search by age\n");
printf("\t\t\t4-search by salary\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter your choice\n\n\t");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the name u want to serach\n\n\n\t");
fflush(stdin);
gets(na);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if((strcmp(p->name,na))==0)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
j++;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
case 2:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the address u want to serach\n\n\n\t");
fflush(stdin);
gets(na);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if((strcmp(p->add,na))==0)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("\n\n\n\n\t\tserach complete data not found\n");
}
break;
case 3:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the age u want to serach\n\n\n\t");
fflush(stdin);
scanf("%d",&ag);
p=head;
printf("\tsearch complete data found \n\n\n");
while(p->next!=NULL)
{
if(p->age==ag)
{
printf("\t%s\t%s\t%d\t%d\n\n",p->name,p->add,p->age,p->salary);
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
case 4:
printf("\n\n\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\tenter the salary u want to serach\n\n\n\t");
fflush(stdin);
scanf("%d",&ag);
p=head;
while(p->next!=NULL)
{
if(p->salary==ag)
{
printf("\t\n\nsearch complete data found \n\n\n");
printf("\t%s\t%s\t%d\t%d\n\n\n",p->name,p->add,p->age,p->salary);
break;
}
p=p->next;
}
if(p==NULL)
{
getch();
clrscr();
printf("serach complete data not found\n");
}
break;
}
p=head;
while(p!=NULL)
{
q=p;
p=p->next;
}
q->next=NULL;
free(p);
}
void dis()
{
struct table *q;
int i;
clrscr();
printf("\t\t\tNAME\tADDRESS\tAGE\tSALRY\n\n");
printf("\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
q=head;
while(q!=NULL)
{
printf("\n\n\t\t\t%s\t%s\t%d\t%d\n",q->name,q->add,q->age,q->salary);
q=q->next;
}
printf("\n\n");
for(i=0;i<80;i++)
{
printf("-");
}
getch();
}
void insert()
{
int c=0,i,l,j,temp1,temp2;
char s[50],p[50],q[50];
struct table *ph,*m,*t;
clrscr();
for(i=0;i<80;i++)
{
printf("-");
}
printf("\n\n\n\n\t\t\tenter name\n\t\t\t");
fflush(stdin);
gets(p);
printf("\n\n\n\n\t\t\tenter add\n\t\t\t");
fflush(stdin);
gets(q);
printf("\n\n\n\n\t\t\tenter age\n\t\t\t");
fflush(stdin);
scanf("%d",&l);
printf("\n\n\n\n\t\t\tenter salary\n\t\t\t");
fflush(stdin);
scanf("%d",&j);
m=(struct table *)malloc (sizeof(struct table));
m->next=NULL;
strcpy(m->name,p);
strcpy(m->add,q);
m->age=l;
m->salary=j;
t=head;
while(t->next!=NULL)
{
t=t->next;
}
t->next=m;
t=head;
while(t!=NULL)
{
c++;
t=t->next;
}
for(i=1;i<c;i++)
{
ph=head;
for(j=1;j<=c-i;j++)
{
if((strcmp(ph->next->name,ph->name))<=0)
{
strcpy(s,ph->next->name);
strcpy(q,ph->next->add);
temp1=ph->next->age;
temp2=ph->next->salary;
strcpy(ph->next->name,ph->name);
strcpy(ph->next->add,ph->add);
ph->next->age=ph->age;
ph->next->salary=ph->salary;
strcpy(ph->name,s);
strcpy(ph->add,q);
ph->age=temp1;
ph->salary=temp2;
}
ph=ph->next;
}
}
}
void del()
{
int i,choice,gh;
char n[50];
struct table *p,*q;
clrscr();
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\t1-del by name\n");
printf("\n\t\t\t2-del by add\n");
printf("\n\t\t\t3-del by age\n");
printf("\n\t\t\t4-del by salary\n\n\n");
for(i=0;i<80;i++)
printf("-");
printf("\n\t\t\tEnter your choice\n\t\t\t");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter name to delete\n\t\t\t");
fflush(stdin);
gets(n);
p=head;
if((p==head)&&(strcmp(p->name,n)==0))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if(strcmp(p->name,n)==0)
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 2:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter add to delete\n\t\t\t");
fflush(stdin);
gets(n);
p=head;
if((p==head)&&(strcmp(p->add,n)==0))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if(strcmp(p->add,n)==0)
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 3:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter age to delete\n\t\t\t");
fflush(stdin);
scanf("%d",&gh);
p=head;
if((p==head)&&(p->age==gh))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if((p->age==gh))
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
case 4:
for(i=0;i<80;i++)
printf("-");
printf("\n\n\n\t\t\tenter salary to delete\n\t\t\t");
fflush(stdin);
scanf("%d",&gh);
p=head;
if((p==head)&&((p->salary==gh)))
{
head=p->next;
free(p);
}
else
{
while(p!=NULL)
{
if((p->salary==gh))
{
break;
}
q=p;
p=p->next;
}
q->next=p->next;
free(p);
}
if(p==NULL)
{
q->next=NULL;
free(p);
}
break;
}
}
_____________________________________________________________________________________
JUST USE IT BY COPY PASTING THE CODE AND SAVE THE FILE AS anyname.c THEN COMPILE IT AND USE , ANY DOUBT CAN BE ASKED...
U CAN CATCHME AT http://www.facebook.com/salokr.
!!! HOPE U LIKE IT !!!
!!! THANKS FOR READING !!!
!!!!!HAPPY PROGRAMMING !!!!!
!!!!!HAPPY PROGRAMMING !!!!!
Comments
Post a Comment