A simple employees contact details system in C programming language.
I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me at the following email address for further details. If you want to advertise on my website kindly contact me also in my email address also. Thank you.
My email address is the following jakerpomperada@gmail.com, jakerpomperada@aol.com, and jakerpomperada@yahoo.com.
My mobile number here in the Philippines is 09173084360.
Program Listing
/*employees_details.c
Authors : Jake R. Pomperada,MAED-IT, MIT
Emails : jakerpomperada@gmail.com
Tool : Dev C++ Version 5.11
Date : November 1, 2021 Monday 9:53 AM
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
main( )
{
FILE *fp, *ft ;
char another, choice ;
struct employees
{
char emp_id[200];
char name[200];
char sex;
char address[200];
char telephone[200];
char mobile[200];
char email[200];
};
struct employees info ;
char employee_id[200];
int flag=0;
long int recsize ;
fp = fopen ("RECORDS.DAT", "rb+" ) ;
if ( fp == NULL )
{
fp = fopen ("RECORDS.DAT", "wb+" ) ;
if ( fp == NULL )
{
puts ("Cannot open file" ) ;
exit(0) ;
}
}
recsize = sizeof ( info ) ;
while (1)
{
system("CLS");
printf("\n");
printf("\n\t===========================================");
printf("\n\tEMPLOYEES CONTACT DETAILS SYSTEM IN C ");
printf("\n\t\t\tCreated By");
printf("\n\t Jake R. Pomperada, MAED-IT, MIT");
printf("\n\t===========================================");
printf("\n\n");
printf ( "\t1. ADD EMPLOYEE'S RECORD") ;
printf("\n");
printf ( "\t2. DISPLAY EMPLOYEE'S RECORD" ) ;
printf("\n");
printf ( "\t3. UPDATE EMPLOYEE'S RECORD" ) ;
printf("\n");
printf ( "\t4. SEARCH EMPLOYEE'S RECORD" ) ;
printf("\n");
printf ( "\t5. DELETE EMPLOYEE'S RECORD" ) ;
printf("\n");
printf ( "\t6. QUIT PROGRAM" );
printf("\n\n\n");
printf ("\tSELECT YOUR CHOICE : ") ;
fflush (stdin) ;
choice = getche() ;
switch (choice)
{
case '1' :
fseek (fp, 0 ,SEEK_END) ;
another = 'Y' ;
while ( another == 'Y' )
{
system("cls");
printf("\n\n");
printf("\t=== Add New Employee's Record in the Database ===");
printf("\n\n");
printf("\tEnter Employees ID Number : ");
scanf("%s",&info.emp_id);
printf("\tEnter Employee's Name : ");
fflush(stdin);
gets(info.name);
printf("\tEnter Gender M/F : ") ;
info.sex = toupper(getche());
printf("\n");
printf("\tEnter Home Address : ");
fflush(stdin);
gets(info.address);
printf("\tEnter Telephone Number : ");
fflush(stdin);
gets(info.telephone);
printf("\tEnter Mobile Number : ");
fflush(stdin);
gets(info.mobile);
printf("\tEnter Email Address : ");
fflush(stdin);
gets(info.email);
fwrite (&info, recsize, 1, fp ) ;
printf("\n\n");
printf ("\n\tAdd another Record (Y/N) : ") ;
fflush (stdin) ;
another = toupper(getche()) ;
}
break ;
case '2' :
system("cls");
rewind (fp);
printf("\n\n");
printf("\t=== View Employee's Records in the Database ===");
printf("\n");
while ( fread ( &info, recsize, 1, fp ) == 1 )
{
printf("\n\tEmployee's ID Number : %s",info.emp_id);
printf("\n\tEmployee's Name : %s",info.name);
printf("\n\tGender : %c",info.sex);
printf("\n\tHome Address : %s",info.address);
printf("\n\tTelephone Number : %s",info.telephone);
printf("\n\tMobile Number : %s",info.mobile);
printf("\n\tEmail Address : %s",info.email);
printf("\n\n");
}
system("pause");
break ;
case '3' :
rewind (fp);
another = 'Y' ;
while (another == 'Y')
{
system("cls");
printf("\n\n");
printf("\t=== Update Employee's Records in the Database ===");
printf("\n\n");
printf("\tEnter Employee's ID Number : ");
scanf("%s",&employee_id);
printf("\n");
rewind (fp) ;
while (fread( &info, recsize, 1, fp ) == 1 )
{
if ( strcmp (info.emp_id, employee_id ) == 0 )
{
printf("\tEnter Employee's ID Number : ");
scanf("%s",&info.emp_id);
printf("\tEnter Employee's Name : ");
fflush(stdin);
gets(info.name);
printf("\tEnter Gender M/F : ") ;
info.sex = toupper(getche());
printf("\n");
printf("\tEnter Home Address : ");
fflush(stdin);
gets(info.address);
printf("\tEnter Telephone Number : ");
fflush(stdin);
gets(info.telephone);
printf("\tEnter Mobile Number : ");
fflush(stdin);
gets(info.mobile);
printf("\tEnter Email Address : ");
fflush(stdin);
gets(info.email);
printf("\n\n");
printf("\tEmployee's records has been updated in the database.");
printf("\n\n");
system("pause");
fseek ( fp, - recsize, SEEK_CUR ) ;
fwrite ( &info, recsize, 1, fp ) ;
break ;
}
}
if (strcmp(info.emp_id,employee_id) != 0 )
{
printf("\n\n");
printf("\tNo Record in the Database.");
printf("\n");
system("pause");
break;
}
printf("\n\n");
printf ("\n\tUpdate Another Record (Y/N) : " ) ;
fflush (stdin) ;
another = toupper(getche());
}
break ;
case '4' :
rewind (fp);
another = 'Y' ;
while ( another == 'Y' )
{
system("cls");
printf("\n\n");
printf("\t=== Search Employee's Records in the Database ===");
printf("\n\n");
printf("\tEnter Employee's ID Number : ");
scanf("%s",&employee_id);
rewind (fp) ;
printf("\n");
while (fread( &info, recsize, 1, fp ) == 1 )
{
if (strcmp(info.emp_id,employee_id) == 0 )
{
printf("\n\tEmployee's ID Number : %s",info.emp_id);
printf("\n\tEmployee's Name : %s",info.name);
printf("\n\tGender : %c",info.sex);
printf("\n\tHome Address : %s",info.address);
printf("\n\tTelephone Number : %s",info.telephone);
printf("\n\tMobile Number : %s",info.mobile);
printf("\n\tEmail Address : %s",info.email);
printf("\n\n");
system("pause");
break;
}
}
if (strcmp(info.emp_id,employee_id) != 0 )
{
printf("\n");
printf("\tSorry No Record Found in the Database.");
printf("\n\n");
system("pause");
break;
}
printf("\n");
printf ("\n\tSearch Another Employee's Record? (Y/N) : " ) ;
fflush (stdin) ;
another = toupper(getche());
}
break ;
case '5' :
another = 'Y' ;
while ( another == 'Y' )
{
system("cls");
flag=0;
printf("\n\n");
printf("\t=== Delete Employee's Records in the Database ===");
printf("\n\n");
printf("\tEnter Employee's ID Number : ");
scanf("%s",&employee_id);
printf("\n");
ft = fopen ("TEMP.DAT", "wb") ;
rewind (fp) ;
while (fread (&info, recsize, 1, fp) == 1 )
{
if (strcmp(info.emp_id, employee_id) != 0 )
fwrite(&info, recsize, 1, ft ) ;
else
flag=1;
}
fclose (fp) ;
fclose (ft) ;
remove ("RECORDS.DAT") ;
rename ("TEMP.DAT", "RECORDS.DAT") ;
fp = fopen ("RECORDS.DAT", "rb+") ;
if(flag==1) {
printf("\n\n");
printf("\tRecord Successfully Deleted From the Database.");
printf("\n\n");
system("pause");
}
else if (flag!=1) {
printf("\n\n");
printf("\tSorry Record Not Found in the Database.");
printf("\n\n");
system("pause");
}
printf("\n\n");
printf( "\tDelete Another Employee's Record? (Y/N) " ) ;
fflush ( stdin ) ;
another = toupper(getche());
}
break ;
case '6' :
fclose (fp) ;
printf("\n\n");
printf("\t\tThank You For Using This Program !!! ");
printf("\n\n");
system("PAUSE");
exit(0);
}
}
} /* End of the Code */