//************************************** // Name: EMPLOYEES CONTACT DETAILS SYSTEM IN C // Description:A very simple program that I wrote using C language to manage the information of the employee's contact details. I wrote this code in the Christmas Eve December 24, 2018, to make my day productive and enjoyable. I hope you will find my work useful. Merry Christmas to all you guys. I am currently accepting programming work, it projects, school programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me in 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. My telephone number at home here in Bacolod City, Negros Occidental Philippines is +63 (034) 4335675. My personal website is http://www.jakerpomperada.com // By: Jake R. Pomperada // // // Inputs:None // // Returns:None // //Assumes:None // //Side Effects:None //************************************** /*employees_details.c Authors: Jake R. Pomperada,MAED-IT Emails: jakerpomperada@gmail.com Tool : Dev C++ Version 5.11 Date : December 24, 2018 Monday 11:46 PM */ #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\t\tEMPLOYEES CONTACT DETAILS SYSTEM "); printf("\n\t\t\tCreated By"); printf("\n\tJake R. Pomperada and Kristine T. Soberano"); 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 */