Program to implement a Linked List in Memory

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
error: You can only copy the programs code and output from this website. You are not allowed to copy anything else.