You are on page 1of 25

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION
GOVERNMENT POLYTECHNIC, YAVATMAL
Program Name: computer
Course Name : Object Oriented Programming

Academic Year: 2021-22


Semester: Third
A MICRO PROJECT
ON
“A ‘C’ Program for showing employee details using doubly
. link list and array “

Submitted by the group of 3 students

Roll No. Name Enrollment No


28 Samruddhi gulhane 2001350358
34 Sujay kale 2001350124
Prerna chavhan
Guided By
Mrs. Shilpa Rangari mam
(Lecturer in computer Engineering)

1
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION
Certificate
This is to certify that , Roll No. 28, 34, 14 of 3rd Semester of Diploma
in computer engineering of Institute, Government Polytechnic,
yavatmal has completed the Micro Project satisfactorily in the subject
Data structure using ‘c’ for the Academic Year 2021- 2022 as
prescribed in the curriculum.

Date: __/__/____ Place: Yavatmal

Subject Teacher Head of the Department Principal


Shilpa mam Sarode sir

2
GOVERNMENT POLYTECHNIC
YAVATMAL

SUBMISSION
WE as a students of 3rd Sem 2nd Year of the Programme Computer
Engineering humbly submit that we have completed from time to time
the Micro-Project work as described in this report by our own skills and
study between the period from 2021 -2022 as per guidance of Mrs.
Shilpa mam quantum of our contribution has been approved by the
Lecturer. And that I have not copied the report on its any appreciable
part from any other literature in contravention of the academic ethics.

Place: Yavatmal Signature of students


Date:

3
ACKNOWLEDGEMENT
This Micro project would not have been possible without
considerable guidance and support. So, we would like to acknowledge
those who have enable us to complete this project.
Firstly, we would like to thank our project guide, Mrs.Shilpa rangari
(lecturer in CO, Government Polytechnic, Yavatmal) and Head of
CO Department Mr. k. k. Bele for providing the guideline with
continuous advice and feedback throughout the duration of finishing this
project. We also thank to the Dr. (Principal of Government
Polytechnic, yavatmal) for providing us the opportunity to embark on
this project
Secondly, we would also like to thank all other staff members of CO
department that we may called upon for assistance since the genesis of
this project their opinion and suggestion have helped us in a realizing
this project.
Also, not to be forgotten, we would like to thank all our friends with the
report valuable opinion and sharing ideas during the process of this
project Finally, we would like to thank our families for their
understanding, encouragement and support towards the completion of
project.
Thank so much.

4
MICROPROJECT PROPOSAL
“List of employees details using doubly link list”

1. Aims/Benefits of microproject :
The aim of our microproject is to implement
the logic which we had build while reading concepts of data
structure using c , using the concepts like link list , doubly
link , for management system . the main objective or aim of
our microproject is to solve the problem faced by organisation
And corporates while calculating salaries of employees

Benefits :

1. Create a smooth onborarding process .


2. Its make easier to the employee to find the
information they needed . 3.
Constrctive feedback is easy .
4. Allows the staff to easily validate the information
they needed .

5
2. Course outcome achieved :

1. Implement basic operations on link list .

2. Implement the basic operations on array .

3. Proposed Methodology :

Firstly the topic will be given to us by the teacher .


then the group Member will decide the task according to the
distribution of work Later they will start the collection of
information . after collecting the information in proper
manner we will put it in the project in correct Format . we
will show it to our teacher and ask forthe changes and
Conformation . finally we will make the report of our task and
present before The teacher after confirmation by teacher we
will finalise our report for Presentation .

4.Action plan

6
Sr.no Activity Started Finished Group
Members
1 Collection of information 21\11\2021 21\11\2021 1.Samruddhi
gulhane.
2.sujay kale.
3.Prerna
chavhan
2 Making annexure1 22\11\2021 23\11\2021 1.Prerna
chavhan
3 Coding 24\11\2021 30\11\2021 1.Samruddhi
gulhane.
2.sujay kale.
4 Making annexure2 30\11\2021 01\12\2021 1.Samruddhi
gulhane.

5 Analysing report 02\12\2021 02\12\2021


1.sujay kale.
6 Analysing information 03\12\2021 03\12\2021 1.Prerna
And chavhan
report

Sr.no Name Specification Qt.y

1 Computer system or laptop Any desktop 1.


with basic
configuration
2 Internet -
Resources required :-

7
5. Name of team members
1. SUJAY KALE

2.SAMRUDDHI GULHANE

3.PRERNA CHAVHAN

8
ANNEXTURE - II

MICROPROJECT REPORT
“List of employees details using doubly link list”
0.1. Rational

In this project we have made the program for employee


Management this is the application based project and we had
tried to resolve the issues using the data structure which is
known for the efficiency of storing data .in that we had
followed the doubly link list , arrays as per the need .
Here we worked with the searching and sorting
algorithm . the best concept we go through in this
project is such that we are working with the reality
based concept and the demanding course which is data
structures .

9
0.2. Aims/benefits of microproject

The aim of our microproject is to implement


the logic which we had build while reading concepts of data
structure using c , using the concepts like link list , doubly
link , for management system . the main objective or aim of
our microproject is to solve the problem faced by
organisation And corporates while calculating salaries of
employees

Benefits :

1. Create a smooth onborarding process .


2. Its make easier to the employee to find the
information they needed . 3. Constrctive
feedback is easy .
4. Allows the staff to easily validate the information
they needed .

3.0. Course outcome :


1. Implement basic operations on link list .

2. Implement the basic operations on array .

3. Implement the basic operations of searching and sorting .

10
4.0. literature Riview :
As the project is the part of implementation of what the
logic had been created while learning the course we had
tried to implement most of the Concepts we learn over
learning this course . in this project we had implemented the
link list . the link list is nothing but the linear collection of
data elements whose order is not given by their physical
placement in memory .also the concept of doubly link list is
widely used in our program code .this code is totally made
for the organisation and corporates who faces the probs while
scaling the salaries of employees . even we took information
from very many sites just few of them are

• https://www.geeksforgeeks.org/
• https://www.tutorialspoint.com/index.htm
• https://en.wikipedia.org/wiki/Espresso
• College notes

This sites makes our concepts more clear and then we are
able to solve the bugs by our own .

0.5. Methodology Followed :

11
After selection of the proposal on the topic topic we had
choosen were selected by teacher also and we got
conformation According to that plan everyone divided our
topic and started the work as per the scheduled we have
completed our work in just 16 hrs . with help of different sites
and our mam also . we had solved so many bugs and kept the
final out without any warning in the report .
according ot action plan we had made our project For the
further procedure the we made an action plan which is
showed above .
.

0.7. Output of microproject :

12
// details using a Doubly-linked list
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h> int
count = 0; // Structure
declaration struct node
{
struct node *prev;
struct node *next;
int id;
long int phno;
float sal;
char name[20], dept[10];
} *head, *temp, *temp1, *temp2;

// Function to create node void


create()

{ int
id;

long int phno;


float sal;
char name[20], dept[10]; temp = (struct node
*)malloc(sizeof(struct node)); temp->prev = NULL;
temp->next = NULL; printf("\n\tEnter
Id\tname\tdepartment\tsalary\tph no.\n");
scanf("%d %s %s %f %ld", &id, name, dept, &sal,
&phno);
temp->id = id;

13
strcpy(temp->name, name);
strcpy(temp->dept, dept);
temp->sal = sal; temp->phno
= phno;
count++;
}

//program to insert at beginning void

insertbeg()

{
// If DLL is empty
if (head == NULL)

{
create();
head = temp;
temp1 = head;

}
else
{
create();
temp->next = head;
head->prev = temp; head
= temp;
}
}

// Function to insert at end void


insertend()
{

14
// If DLL is empty
if (head == NULL)
{
create();
head = temp;
temp1 = head;

}
else
{
create();
temp1->next = temp;
temp->prev = temp1; temp1
= temp;
}
}

// Function to display from beginning void


displaybeg()

{
temp2 = head; if
(temp2 == NULL)
{
printf("\n ***\t--\tList is empty\t--\t***\n");
return;
}
printf("\n $$$$$$$$$$\t- - -\tLinked list elements from beginning\t- - -\t$$$$$$$$$$\n");
printf("-----------------------------------------------------------------------------------------\n");
printf("* Emp_id\tName\t \tDepartment\t Salary\t \tPhone_no.\t*\n");

15
printf("-----------------------------------------------------------------------------------------\n");
printf("-----------------------------------------------------------------------------------------\n");

while (temp2 != NULL)


{
printf("* %d\t*\t%s\t*\t%s\t*\t%f\t*\t%ld\t*\n", temp2->id, temp2->name, temp2-
>dept, temp2->sal, temp2->phno);
printf("-----------------------------------------------------------------------------------------\n");
temp2 = temp2->next;
}

// Print the count printf("Number of


employees = %d\n", count);

void deleteend()
{
struct node *temp;
temp = head; if
(temp == NULL)
{
printf("List is empty\n");

}
if (temp->next == NULL)
{
printf("%d\t\t\t%s\t\t\t%s\t\t\t%f\t\t\t%ld\n", temp->id, temp->name, temp->dept,
temp->sal, temp->phno);
free(temp);
head = NULL;

16
}
else
{
temp = temp1;
temp2 = temp1->prev;
temp2->next = NULL;
printf("%d\t\t\t%s\t\t\t%s\t\t\t%f\t\t\t%ld\n", temp->id, temp->name, temp->dept,
temp->sal, temp->phno);
free(temp);
temp1 = temp2;
}
count--;
getch();

// Function to delete from beginning void


deletebeg()

{
struct node *temp;
temp = head; if
(temp == NULL)

{
printf("list is empty\n");

}
else if (temp->next == NULL)
{
printf("%d\t\t\t%s\t\t\t%s\t\t\t%f\t\t\t%ld\n", temp->id, temp->name, temp->dept,
temp->sal, temp->phno);

17
free(temp);
head = NULL;

}
else
{
head = head->next; head-
>prev = NULL;
printf("%d\t\t\t%s\t\t\t%s\t\t\t%f\t\t\t%ld\n", temp->id, temp->name, temp->dept,
temp->sal, temp->phno);
free(temp);
}
count--;
getch();
}

// Function displaying menus void


employerDetails()
{ int ch, n,

i;

head = NULL; temp =


temp1 = NULL;
while (1)
{
printf("\t\t--------------Menu----------------");
printf("\n\t\t* 1.Create a record of n emp \t *");
printf("\n\t\t* 2.Display from beginning \t *");
printf("\n\t\t* 3.Insert at end \t \t *"); printf("\n\t\t*
4.Delete at end \t \t *"); printf("\n\t\t* 5.Insert at
beginning \t *"); printf("\n\t\t* 6.Delete at beginning \t

18
*"); printf("\n\t\t* 7.Exit \t \t \t *\n");
printf("\t\t--------------##$##---------------\n");

printf("\n Enter choice : ");


scanf("%d", &ch);

// Switch statements begins


switch (ch)
{
case 1:
printf("\n Enter numbers of employees : ");
scanf("%d", &n);

for (i = 0; i < n; i++)


insertend(); break;
case 2:
displaybeg(); break;
case 3: insertend();
break; case 4:
deleteend(); break;
case 5:
insertbeg();
break; case 6:
deletebeg(); break;
case 7: exit(0);
default: printf("wrong
choice\n");
}
}
}

19
int main()
{
employerDetails();

return 0;
}

Output of code :

20
21
22
23
24
25

You might also like