Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <conio.h>
- struct student
- {
- int id;
- int cla;
- char group[20];
- char name[20];
- char gender[20];
- struct student *next,*prev;
- }*start=NULL,*end=NULL,*current;
- void create()
- {
- if(start==NULL && end==NULL)
- {
- struct student *new_node;
- new_node=(struct student*)malloc(1*sizeof(struct student));
- printf("\nEnter Name:\n");
- scanf("%s",&new_node->name);
- printf("Enter Class:");
- scanf("%d",&new_node->cla);
- printf("Enter ID:\n");
- scanf("%d",&new_node->id);
- printf("Enter Group:\n");
- scanf("%s",&new_node->group);
- printf("Enter Gender:\n");
- scanf("%s",&new_node->gender);
- new_node->next=NULL;
- new_node->prev=NULL;
- start=new_node;
- end=new_node;
- current=new_node;
- system("cls");
- }
- else
- {
- struct student *new_node;
- new_node=(struct student*)malloc(1*sizeof(struct student));
- printf("\nEnter Name:\n");
- scanf("%s",&new_node->name);
- printf("Enter Class:");
- scanf("%d",&new_node->cla);
- printf("Enter ID:");
- scanf("%d",&new_node->id);
- printf("Enter Group:\n");
- scanf("%s",&new_node->group);
- printf("Enter Gender:\n");
- scanf("%s",&new_node->gender);
- new_node->next=NULL;
- new_node->prev=NULL;
- current->next=new_node;
- new_node->prev=current;
- end=new_node;
- current=new_node;
- system("cls");
- }
- }
- void dis()
- {
- struct student *c;
- c=start;
- while(c!=NULL)
- {
- printf("\n Name : %s ID : %d\n Gender : %s Group : %s\n",c->name,c->id,c->gender,c->group);
- c=c->next;
- }
- }
- int search(int a)
- {
- struct student *c;
- c=start;
- int po=0;
- while(c!=NULL)
- {
- po++;
- if(c->id==a)
- {
- return po;
- }
- c=c->next;
- }
- return -1;
- }
- struct teacher
- {
- int id;
- char name[20];
- char gender[20];
- char group[20];
- long int phnum;
- struct teacher *next,*prev;
- }*start1=NULL,*end1=NULL,*current1;
- void create1()
- {
- struct teacher *new_node;
- if(start1==NULL && end1==NULL)
- {
- new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
- printf("\nEnter the number of teacher id:\n");
- scanf("%d",&new_node->id);
- printf("\nEnter your group:\n");
- scanf("%s",&new_node->group);
- printf("\nEnter the teacher name:\n");
- scanf("%s",&new_node->name);
- printf("\nEnter the teacher gender:\n");
- scanf("%s",&new_node->gender);
- printf("\nEnter the teacher phone number:\n");
- scanf("%ld",&new_node->phnum);
- new_node->next=NULL;
- new_node->prev=NULL;
- start1=new_node;
- end1=new_node;
- current1=new_node;
- system("cls");
- }
- else
- {
- new_node=(struct teacher*)malloc(1*sizeof(struct teacher));
- printf("\nEnter Teacher ID:\n");
- scanf("%d",&new_node->id);
- printf("\nEnter Teacher Group:\n");
- scanf("%s",&new_node->group);
- printf("\nEnter the teacher name:\n");
- scanf("%s",&new_node->name);
- printf("\nEnter the teacher gender:\n");
- scanf("%s",&new_node->gender);
- printf("\nEnter the teacher phone number:\n");
- scanf("%ld",&new_node->phnum);
- new_node->next=NULL;
- new_node->prev=NULL;
- current1->next=new_node;
- new_node->prev=current1;
- current1=new_node;
- end1=new_node;
- system("cls");
- }
- }
- int search1(int a)
- {
- struct teacher *c;
- c=start1;
- int po=0;
- while(c!=NULL)
- {
- po++;
- if(c->id==a)
- {
- return po;
- }
- c=c->next;
- }
- return -1;
- }
- void dis1()
- {
- struct teacher *c;
- c=start1;
- while(c!=NULL)
- {
- printf("\nTeacher ID:%d\n",c->id);
- printf("Your group:%s\n",c->group);
- printf("Teacher Name:%s\n",c->name);
- printf("Teacher Gender:%s\n",c->gender);
- printf("Teacher Phone number:%ld\n",c->phnum);
- c=c->next;
- }
- }
- int main()
- {
- int x;
- while(1)
- {
- printf("1.Enter Student Details.\n2.View All Student Details\n3.Search Student Details.\n");
- printf("4.Enter Teacher Details.\n5.View All Teacher Details\n6.Search Teacher Details.\n");
- scanf("%d",&x);
- switch(x)
- {
- case 1:
- {
- create();
- break;
- }
- case 2:
- {
- dis();
- getch();
- system("cls");
- break;
- }
- case 3:
- {
- printf("Enter Id:\n");
- int n;
- scanf("%d",&n);
- int pos = search(n);
- if(pos==-1)
- {
- printf("\n Not Found\n");
- }
- else
- {
- struct student *b;
- b=start;
- int j;
- for(j=0; j<pos-1; j++)
- {
- b=b->next;
- }
- printf("\n Name:%s ID:%d\n Gender:%s Group:%s\n",b->name,b->id,b->gender,b->group);
- getch();
- system("cls");
- }
- break;
- }
- case 4:
- {
- create1();
- break;
- }
- case 5:
- {
- dis1();
- getch();
- system("cls");
- break;
- }
- case 6:
- {
- printf("Enter Id:\n");
- int k;
- scanf("%d",&k);
- int pos1 = search1(k);
- if(pos1==-1)
- {
- printf("\n Not Found\n");
- }
- else
- {
- struct teacher *c;
- c=start1;
- int j;
- for(j=0; j<pos1-1; j++)
- {
- c=c->next;
- }
- printf("\nTeacher ID:%d\n",c->id);
- printf("Your group:%s\n",c->group);
- printf("Teacher Name:%s\n",c->name);
- printf("Teacher Gender:%s\n",c->gender);
- printf("Teacher Phone number:%ld\n",c->phnum);
- getch();
- system("cls");
- }
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement