You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/* Structure - Employee ID Sort - Program to create an array of structure to store details of almost 100 employees and sort it according to employee ID. Employee details are as follows: 1) Employee Name , 2) Employee ID and 3) Employee Salary */
|
|
|
|
#include <stdio.h>
|
|
#include <conio.h>
|
|
|
|
void main()
|
|
{
|
|
struct employee
|
|
{
|
|
char name[20] ;
|
|
int id ;
|
|
float salary ;
|
|
} ;
|
|
/* Some compilers do not allow float member in a structure. In that case make salary to be of data type int */
|
|
struct employee e[100], temp ;
|
|
int i, j, n ;
|
|
clrscr() ;
|
|
printf("Enter the number of employees: ") ;
|
|
scanf("%d", &n) ;
|
|
printf("Enter employee name , id and salary for all employees: \n") ;
|
|
for(i=0 ; i<n ; i++)
|
|
scanf("%s %d %f", e[i].name, &e[i].id, &e[i].salary) ;
|
|
for(i=0 ; i<n-1 ; i++)
|
|
for(j=0 ; j<n-1-i ; j++)
|
|
if(e[j].id > e[j+1].id)
|
|
{
|
|
temp=e[j];
|
|
e[j]=e[j+1];
|
|
e[j+1]=temp;
|
|
}
|
|
printf("\nList in ascending order of employee id is as shown:\n") ;
|
|
for(i=0 ; i<n ; i++)
|
|
printf("%s %d %f \n", e[i].name, e[i].id, e[i].salary) ;
|
|
getch() ;
|
|
}
|
|
|
|
/*
|
|
Output:
|
|
|
|
Enter the number of employees: 3
|
|
Enter employee name , id and salary for all employees:
|
|
Jack 789 500.5
|
|
Jill 123 600.25
|
|
Tim 456 200.75
|
|
|
|
List in ascending order of employee id is as shown:
|
|
Jill 123 600.250000
|
|
Tim 456 200.750000
|
|
Jack 789 500.500000
|
|
|
|
*/
|
|
|