Program:
#include <stdio.h>
#include <stdlib.h>
struct student
{
int rollno;
char name[20];
float fee;
struct student *next;
};
struct student *start = NULL;
void insertnode()
{
struct student *newstudent = (struct student *)malloc(sizeof(struct student));
if (newstudent == NULL)
printf("Overflow: Memory Full. You cant insert more items\n");
else
{
printf("\nenter student roll no: ");
scanf("%d", &newstudent->rollno);
printf("enter name: ");
fflush(stdin);
gets(newstudent->name);
printf("enter fee : ");
scanf("%f", &newstudent->fee);
newstudent->next = NULL;
if (start == NULL)
start = newstudent;
else
{
struct student *ptr = start;
while (ptr->next != NULL)
ptr = ptr->next;
ptr->next = newstudent;
}
}
}
void deletenode()
{
if (start == NULL)
printf("underflow!!!. Linked List is empty. No item to delete");
else
{
struct student *ptr = start;
printf("Deleted item is :\n");
printf("Rollno\tname\tfee");
printf("\n%d\t%s\t%f\n", start->rollno, start->name, start->fee);
free(ptr);
start = start->next;
}
}
void display()
{
if (start == NULL)
printf("Linked List is empty. No item to display");
else
{
struct student *ptr = start;
printf("\nInformation of Linked List is : \n");
printf("Rollno\tname\tfee");
while (ptr != NULL)
{
printf("\n%d\t%s\t%f\n", ptr->rollno, ptr->name, ptr->fee);
ptr = ptr->next;
}
}
}
void main()
{
int ch;
printf("****************************************\n");
printf("****************************************\n");
printf("** Implementation of Linked Lists **\n");
printf("** Program Created By Sheetal Garg **\n");
printf("** Assistant professor **\n");
printf("** 9467863365 **\n");
printf("****************************************\n");
printf("****************************************\n");
while (1)
{
printf("\nOptions Available are\n");
printf("1. Insert Node \n");
printf("2. Delete Node \n");
printf("3. Display Linked List\n");
printf("4. Exit \n");
printf("\nEnter your choice : ");
scanf("%d", &ch);
switch (ch)
{
case 1:
insertnode();
break;
case 2:
deletenode();
break;
case 3:
display();
break;
case 4:
exit(0);
default:
printf("Wrong choice entered");
}
}
}
Output:
****************************************
****************************************
** Implementation of Linked Lists **
** Program Created By Sheetal Garg **
** Assistant professor **
** 9467863365 **
****************************************
****************************************
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 1
enter student roll no: 1
enter name: Sheetal Garg
enter fee : 1000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 1
enter student roll no: 2
enter name: Amit Goyal
enter fee : 2000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 1
enter student roll no: 3
enter name: Nidhi Gupta
enter fee : 3000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 3
Information of Linked List is :
Rollno name fee
1 Sheetal Garg 1000.000000
2 Amit Goyal 2000.000000
3 Nidhi Gupta 3000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 2
Deleted item is :
Rollno name fee
1 Sheetal Garg 1000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 3
Information of Linked List is :
Rollno name fee
2 Amit Goyal 2000.000000
3 Nidhi Gupta 3000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 2
Deleted item is :
Rollno name fee
2 Amit Goyal 2000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 3
Information of Linked List is :
Rollno name fee
3 Nidhi Gupta 3000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 2
Deleted item is :
Rollno name fee
3 Nidhi Gupta 3000.000000
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 3
Linked List is empty. No item to display
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 2
underflow!!!. Linked List is empty. No item to delete
Options Available are
1. Insert Node
2. Delete Node
3. Display Linked List
4. Exit
Enter your choice : 4