Monday, November 1, 2021

Employee's Contact Details System in C

 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 */

No comments:

Post a Comment