A simple employees contact details system in C programming language.
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 */