C Project: Build a Phone Management System (Contact Book)
Last updated Dec 28, 2024The Phone Management System (Contact Book) is designed in Code:: Block using GCC compiler. It is a simple C console-based project even beginners can give a try.
This Phone Management System (Contact Book) is a beginner-friendly C console project developed in Code::Blocks using the GCC compiler.
Key Features:
- Basic Phonebook Operations: Allows users to insert, modify, list, search, and delete contacts.
- Data Storage: Utilizes file handling and appropriate data structures for efficient data storage and retrieval.
This project provides a hands-on learning experience for those starting their C programming journey
You can get a clear idea about basic concepts like functions, file handling, and data structure from this c project.
The options to add new records, listing, modifying, and delete is present in the main menu itself. A person's name, father's name, email id, phone number, etc are some of the personal records asked during the addition of records
Complete code for Contact Book in C Language
//-PROGRAMMING MADE SIMPLE #include #include #include #include #include struct person { char name[35]; char address[50]; char father_name[35]; char mother_name[30]; long int mble_no; char sex[8]; char mail[100]; char citision_no[20]; }; void menu(); void got(); void start(); void back(); void addrecord(); void listrecord(); void modifyrecord(); void deleterecord(); void searchrecord(); int main() { system("color 5f"); start(); return 0; } void back() { start(); } void start() { menu(); } void menu() { system("cls"); printf("\t\t**********WELCOME TO PHONEBOOK*************"); printf("\n\n\t\t\t MENU\t\t\n\n"); printf("\t1.Add New \t2.List \t 3.Exit \n\t 4.Modify \t5.Search\t6.Delete"); switch(getch()) { case '1': addrecord(); break; case '2': listrecord(); break; case '3': exit(0); break; case '4': modifyrecord(); break; case '5': searchrecord(); break; case '6': deleterecord(); break; default: system("cls"); printf("\nEnter 1 to 6 only"); printf("\n Enter any key"); getch(); menu(); } } void addrecord() { system("cls"); FILE *f; struct person p; f=fopen("project","ab+"); printf("\n Enter name: "); got(p.name); printf("\nEnter the address: "); got(p.address); printf("\nEnter father name: "); got(p.father_name); printf("\nEnter mother name: "); got(p.mother_name); printf("\nEnter phone no.:"); scanf("%ld",&p.mble_no); printf("Enter sex:"); got(p.sex); printf("\nEnter e-mail:"); got(p.mail); printf("\nEnter citizen no:"); got(p.citision_no); fwrite(&p,sizeof(p),1,f); fflush(stdin); printf("\nrecord saved"); fclose(f); printf("\n\nEnter any key"); getch(); system("cls"); menu(); } void listrecord() { struct person p; FILE *f; f=fopen("project","rb"); if(f==NULL) { printf("\nfile opening error in listing :"); exit(1); } while(fread(&p,sizeof(p),1,f)==1) { printf("\n\n\n YOUR RECORD IS\n\n "); printf("\nName=%s\n Adress=%s \nFather name=%s \nMother name=%s\nMobile no=%ld\nSex=%s \nE-mail=%s \nCitizen no=%s",p.name, p.address,p.father_name, p.mother_name,p.mble_no, p.sex,p.mail,p.citision_no); getch(); system("cls"); } fclose(f); printf("\n Enter any key"); getch(); system("cls"); menu(); } void searchrecord() { struct person p; FILE *f; char name[100]; f=fopen("project","rb"); if(f==NULL) { printf("\n error in opening\a\a\a\a"); exit(1); } printf("\nEnter name of person to search\n"); got(name); while(fread(&p,sizeof(p),1,f)==1) { if(strcmp(p.name,name)==0) { printf("\n\tDetail Information About %s",name); printf("\nName:%s\naddress:%s \nFather name:%s\nMother name:%s \nMobile no:%ld\nsex:%s\nE-mail:%s \nCitision no:%s",p.name, p.address, p.father_name,p.mother_name, p.mble_no,p.sex,p.mail, p.citision_no); } else printf("file not found"); } fclose(f); printf("\n Enter any key"); getch(); system("cls"); menu(); } void deleterecord() { struct person p; FILE *f,*ft; int flag; char name[100]; f=fopen("project","rb"); if(f==NULL) { printf("CONTACT'S DATA NOT ADDED YET."); } else { ft=fopen("temp","wb+"); if(ft==NULL) printf("file opaning error"); else { printf("Enter CONTACT'S NAME:"); got(name); fflush(stdin); while(fread(&p,sizeof(p),1,f)==1) { if(strcmp(p.name,name)!=0) fwrite(&p, sizeof(p),1,ft); if(strcmp(p.name,name)==0) flag=1; } fclose(f); fclose(ft); if(flag!=1) { printf("NO CONACT'S RECORD TO DELETE."); remove("temp.txt"); } else { remove("project"); rename("temp.txt","project"); printf("RECORD DELETED SUCCESSFULLY."); } } } printf("\n Enter any key"); getch(); system("cls"); menu(); } void modifyrecord() { int c; FILE *f; int flag=0; struct person p,s; char name[50]; f=fopen("project","rb+"); if(f==NULL) { printf("CONTACT'S DATA NOT ADDED YET."); exit(1); } else { system("cls"); printf("\nEnter CONTACT'S NAME TO MODIFY:\n"); got(name); while(fread(&p, sizeof(p),1,f)==1) { if(strcmp(name, p.name)==0) { printf("\n Enter name:"); got(s.name); printf("\nEnter the address:"); got(s.address); printf("\nEnter father name:"); got(s.father_name); printf("\nEnter mother name:"); got(s.mother_name); printf("\nEnter phone no:"); scanf("%ld",&s.mble_no); printf("\nEnter sex:"); got(s.sex); printf("\nEnter e-mail:"); got(s.mail); printf("\nEnter citizen no\n"); got(s.citision_no); fseek(f,-sizeof(p), SEEK_CUR); fwrite(&s,sizeof(p),1,f); flag=1; break; } fflush(stdin); } if(flag==1) { printf("\n your data id modified"); } else { printf(" \n data is not found"); } fclose(f); } printf("\n Enter any key"); getch(); system("cls"); menu(); } void got(char *name) { int i=0,j; char c,ch; do { c=getch(); if(c!=8&&c!=13) { *(name+i)=c; putch(c); i++; } if(c==8) { if(i>0) { i--; } // printf("h"); system("cls"); for(j=0;jwhile(c!=13); *(name+i)='\0'; } |
Conclusion: The Phone Management System (Contact Book) is designed in Code:: Block using GCC compiler. It is a simple C console-based project even beginners can give a try
Article Contributed By :
|
|
|
|
4489 Views |