#include<stdio.h> #include<conio.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #define FILENAME "PHONEBOOK.PHN" /* structure of PhoneBook datatype */ struct PhoneBook{ char name[100]; char address[200]; int phoneNo; char email[100]; }; void mainMenu(); /*display main menu*/ void addContact(FILE *fp); /*add new contact*/ void readContacts(FILE *); /*read contacts from file*/ void deleteContact(FILE *); /*delete contacts from file*/ void modifyContact(FILE *); /*modify contacts from file*/ PhoneBook basicDetails(char[]); /*takes input for one contact object*/ void searchContact(FILE *); /*search contact from file*/ int checkForMatch(char[],char[]); /*helper method for searchContact()*/ void menuDesign(char[]); /*display header */ void showMessage(char[]); /*display message*/ void pressForMainMenu(); /* returns to main menu */ void fileOpen(FILE *); void fileClose(FILE *); main(){ system("cls"); mainMenu(); } void mainMenu(){ printf("\n\n\n\n\n\t\tLOADING . PLEASE WAIT...."); FILE *fp; fp=fopen(FILENAME,"rb+"); if(fp==NULL){ fp=fopen(FILENAME,"wb+"); if(fp==NULL){ printf("CANNOT OPEN THE FILE"); } } system("cls"); int choise; char ch; int result; printf("\n\n"); menuDesign("PHONEBOOK MANAGMENT SYSTEM"); printf("\n\t\t1. ADD NEW CONTACT"); printf("\n\t\t2. VIEW ALL CONTACTS"); printf("\n\t\t3. SEARCH CONTACTS"); printf("\n\t\t4. MODIFY CONTACTS"); printf("\n\t\t5. DELETE CONTACT"); printf("\n\t\t6. EXIT"); printf("\n\n\n\t\t ENTER YOUR CHOISE : "); fflush(stdin); ch=getche(); system("cls"); switch(ch){ case '1' : addContact(fp); break; case '2': readContacts(fp); break; case '3': searchContact(fp); break; case '4': modifyContact(fp); break; case '5': deleteContact(fp); break; case '6': exit(0); break; default: system("cls"); showMessage("ERROR !! PRESS 1-6 ONLY"); pressForMainMenu(); getch(); } } void searchContact(FILE *fp){ typedef PhoneBook CONTACT; CONTACT ph; int result; int count=0; char item[50]; printf("\n\t\tEnter Some text to be Searched : "); scanf("%s",&item); while(fread(&ph,sizeof(ph),1,fp)==1){ result=checkForMatch(ph.name,item); if(result==1){ count++; printf("\n \t\t Name : %s \n\t\t Address : %s \n\t\t E-Mail :%s\n\t\t Phone No %d \n\n",ph.name,ph.address,ph.email,ph.phoneNo); } } fclose(fp); if(count==0) printf("\n\t\tNothing found for Name : %s",item); else printf("\n\t\tTotal %d no of Contact(s) found for : %s",count,item); pressForMainMenu(); } int checkForMatch(char a[],char b[]) { int i,k; char *p,temp[strlen(b)]; if(strlen(a)>=strlen(b)){ for(i=0;i<=(strlen(a)-strlen(b));i++) { p=&a[i]; k=0; while(k!=strlen(b)) { temp[k]=*(p+k); k++; } temp[k]='\0'; //printf("\nOriginal : %s ~~~~~ Temp : %s\n",b,temp); if(strcmp(strupr(temp),strupr(b))==0) { return 1; } } } return 0; } PhoneBook basicDetails(char level[200]){ PhoneBook ph; menuDesign(level); printf("\n\t\tEnter Name : "); scanf("%s",&ph.name); printf("\n\t\tEnter Address : "); scanf("%s",&ph.address); printf("\n\t\tEnter E-Mail : "); scanf("%s",&ph.email); printf("\n\t\tEnter phoneNo : "); scanf("%d",&ph.phoneNo); return ph; } void addContact(FILE *fp){ char another='Y'; PhoneBook ph; while((another=='Y')||(another=='y')){ system("cls"); ph=basicDetails("ADD NEW CONTACT"); fseek(fp,0,SEEK_END); fwrite(&ph,sizeof(ph),1,fp); printf("\n\n\t\t-------------------------------------------------"); printf("\n\t\tAdded Successfully"); printf("\n\n\t\t-------------------------------------------------"); printf("\n\n\t\tWant to add Another Contact ( Y / Any Key ) : "); fflush(stdin); another=getche(); } if(another!='Y'||(another!='y')){ fclose(fp); system("cls"); mainMenu(); } } void readContacts(FILE *fp){ int count=0; char keyPress; rewind(fp); PhoneBook ph; menuDesign("ALL CONTACTS"); while(fread(&ph,sizeof(ph),1,fp)==1){ count++; printf("\n \t\t Name : %s \n\t\t Address : %s \n\t\t E-Mail :%s\n\t\t Phone No : %d \n\n",ph.name,ph.address,ph.email,ph.phoneNo); } if(count==0){ showMessage("Nothing To Display ..... "); } fclose(fp); pressForMainMenu(); } void deleteContact(FILE *fp){ system("cls"); menuDesign("DELETE CONTACT"); PhoneBook ph; FILE *temp; int count=0; char name[50]; temp=fopen("TEMP.DAT","wb+"); printf("\n\t\tEnter Contant Name to Delete : "); scanf("%s",&name); rewind(fp); while(fread(&ph,sizeof(ph),1,fp)==1){ if ( strcmp ( ph.name, name ) != 0 ){ fwrite(&ph,sizeof(ph),1,temp); }else{ count++; } } fclose(fp); fclose(temp); remove ( FILENAME ) ; rename ( "TEMP.DAT", FILENAME ) ; fp = fopen ( FILENAME, "rb+" ) ; printf("\n\n\t\t-------------------------------------------------"); if(count!=0) printf("\n\t\tDeleted Successfully"); else printf("\n\t\tNo entry found with Name : %s",name); printf("\n\n\t\t-------------------------------------------------"); fclose(fp); pressForMainMenu(); } void modifyContact(FILE *fp){ system("cls"); menuDesign("MODIFY CONTACT DETAILS"); rewind(fp); int count=0; PhoneBook ph; char name[50]; printf("\n\t\tEnter Name to be Modified : "); scanf("%s",&name); while(fread(&ph,sizeof(ph),1,fp)==1){ if(strcmp(ph.name,name)==0){ count++; ph=basicDetails("MODIFY CONTACT "); fseek(fp,-sizeof(ph),SEEK_CUR) ; fwrite(&ph,sizeof(ph),1,fp); break; } } printf("\n\n\t\t-------------------------------------------------"); if(count!=0) printf("\n\t\tModified Successfully"); else printf("\n\t\tNo entry found with Name : %s",name); printf("\n\n\t\t-------------------------------------------------"); fclose(fp); pressForMainMenu(); } void menuDesign(char topic[]){ char *pattren; //pattren=printPattren('=',200); printf("\n\t\t============================="); printf("\n\t\t%s",topic); printf("\n\t\t=============================\n\n"); } void showMessage(char message[]){ printf("\n\t\t----------------------------------------------"); printf("\n\t\t%s",message); printf("\n\t\t----------------------------------------------"); } void pressForMainMenu(){ char keyPress; printf("\n\n\t\tPress Any Key For Main Menu ... "); keyPress=getche(); if(keyPress!=' ') system("cls"); mainMenu(); }
Tag Archives: c program
C Program to Replace Character from a String
C Program to Replace Character from a String .Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> void ReplaceCharacter(char [],char ,char ); main() { char text[50],a,b; printf("\nProgram to Replace Character from a String \n"); printf("\n----------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\n\nEnter the character you want to replace and by what? : "); scanf("%c %c",&a,&b); ReplaceCharecter(text,a,b); printf("\n\nNew Word is %s" ,text); getch(); } void ReplaceCharacter(char source[],char to_be_replace,char replacewith) { char *p; int i; for(i=0;i<strlen(source);i++) { p=&source[i]; if(*p==to_be_replace) { source[i]=replacewith; } } }
Output
C Program to Extract String from a String
C Program to Extract String from a String .Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> int subString(char [],char [],int ,int ); main() { char text[50],target[50]; int start,end,isError; printf("\nProgram to Extract String from a String \n"); printf("\n----------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\nStart Position : "); scanf("%d",&start); printf("\n\nINFO : Enter -1 if you don't want end position \n\n"); printf("\nEnd Position : "); scanf("%d",&end); isError=subString(text,target,start,end); if(isError==0) printf("\nERROR !!! End position can not be less than Start position "); else printf("\nExtracted String is : %s",target); getch(); } int subString(char source[],char target[],int start,int end) { char *p; int i,k=0; if((end<start)&&(end!=-1)) return 0; if(end==-1) end=strlen(source); for(i=start;i<=end;i++) { p=&source[i]; target[k]=*p; k++; } target[k]='\0'; }
Output
C Program to remove repeated characters from a String
C Program to remove repeated characters from a String . Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> void printFirstChar(char [],char []); int checkifExist(char ,char *); main() { char text[50],target[50]; printf("\nProgram to remove repeated characters from a String \n"); printf("\n------------------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printFirstChar(text,target); printf("\n\New Word after removing repeated Characters is : %s" ,target); getch(); } void printFirstChar(char a[],char b[]) { char *p; int i,isExits,pos=0; for(i=0;i<strlen(a);i++) { p=&a[i]; isExits=checkifExist(*p,b); if(isExits==0) { b[pos]=*p; pos++; } } b[pos]='\0'; } int checkifExist(char k,char *b) { while(*b!='\0') { if(*b==k) { return 1; break; } b++; } return 0; }
Output
C Program to Find Biggest and Smallest word from a String
C Program to Find Biggest and Smallest word from a String . Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> #include <ctype.h> void copyData(char *,char *); void findSamallestAndBigestWord(char *,char [],char []); main() { char text[50],big[50],small[50]; int position,start; printf("\nProgram to Find Biggest and Smallest word from a String \n"); printf("\n------------------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); findSamallestAndBigestWord(text,big,small); printf("\n\nBiggest Word is : %s" ,big); printf("\n\nSmallest Word id : %s" ,small); getch(); } void findSamallestAndBigestWord(char a[],char MAX[],char MIN[]) { char *p,tempMAX[30],tempMIN[30]; int i,max=0,min,pos=0; if(isspace(a[strlen(a)-1])) {} else{ a[strlen(a)]=' '; a[strlen(a)]='\0'; } min=strlen(a); for(i=0;i<strlen(a);i++) { p=&a[i]; if(*p!=' ') { tempMAX[pos]=*p; tempMIN[pos]=*p; pos++; } else{ tempMAX[pos]='\0'; tempMIN[pos]='\0'; if(strlen(tempMAX)>max) { copyData(tempMAX,MAX); max=strlen(tempMAX); } if(strlen(tempMIN)<min) { copyData(tempMIN,MIN); min=strlen(tempMIN); } pos=0; } } } void copyData(char *source,char *target) { while(*source!='\0') { *target=*source; *source++; *target++; } *target='\0'; }
Output
C Program to Abbreviate a String
C Program to Abbreviate a String . Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> void string_abbreviation(char [],char []); main() { char text[30],target[30]; printf("\nProgram to Abbreviate a String \n"); printf("\n--------------------------------\n\n\n"); printf("Enter Text : "); gets(text); string_abbreviation(text,target); printf("\nAbbreviation of string '%s' is : %s",text,target); getch(); } void string_abbreviation(char a[],char b[]) { char *p; int length,i,k=0; length=strlen(a); b[k]=a[0]; k++; for(i=0;i<length;i++) { p=&a[i]; if(*p==' ') { b[k]=*(p+1); k++; } } b[k]='\0'; strupr(b); }
Output
C Program to Find first occurrence of char with starting position
C Program to Find first occurrence of char with starting position.Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> int First_Occurrence_Char(char [],char ,int); main() { char text[30],searchChar; int position,start; printf("\nProgram to Find first occurrence of char with starting position \n"); printf("\n------------------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\nSearched Char : "); scanf("%c",&searchChar); printf("\nStart From : "); scanf("%d",&start); position=First_Occurrence_Char(text,searchChar,start); printf("\nCharecter '%c' in String '%s' starting at %d found at position %d ",searchChar,text,start,position); getch(); } int First_Occurrence_Char(char a[],char b,int start) { int i; char *p; for(i=start;i<strlen(a);i++) { p=&a[i]; if(*p==b) { break; } } if(i==strlen(a)) { return -1; } else { return i; } }
Output
C Program to Find First occurrence of String from a String
C Program to Find First occurrence of String from a String.Compiled in Dev C++
#include<stdio.h> #include<string.h> #include<conio.h> int compare_string(char * , char *); int First_Occurrence_String(char [],char []); int string_length(char *); main() { char text[30],sreachString[30]; int position; printf("\nProgram to Find First occurrence of String from a String \n"); printf("\n-----------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\nSearched String : "); gets(sreachString); position=First_Occurrence_String(text,sreachString); printf("\nString '%s' starts in String '%s' from Position %d",sreachString,text,position); getch(); } int First_Occurrence_String(char a[],char b[]) { int i,k; char *p,temp[string_length(b)]; for(i=0;i<=(string_length(a)-string_length(b));i++) { p=&a[i]; k=0; while(k!=string_length(b)) { temp[k]=*(p+k); k++; } temp[k]='\0'; if(compare_string(temp,b)==1) { break; } } if(i==(string_length(a)-string_length(b))+1) return -1; else return i; } int compare_string(char *first , char *second) { while(*first!='\0') { if(*first==*second) { first++; second++; } else { return 0; } } return 1; } int string_length(char *a) { int count=0; while(*a!='\0') { count++; a++; } return count; }
Output
C Program to Find Last occurrence of char from a String
C Program to Find Last occurrence of char from a String.Compiled in DEV C++
#include<stdio.h> #include<string.h> #include<conio.h> int Last_Occurrence_Char(char [],char ); main() { char text[30],searchChar; int position; printf("\nProgram to Find Last occurrence of char from a String \n"); printf("\n-----------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\nSearched Char : "); scanf("%c",&searchChar); position=Last_Occurrence_Char(text,searchChar); printf("\nCharecter '%c' Found in String '%s' at Position %d",searchChar,text,position); getch(); } int Last_Occurrence_Char(char a[],char b) { int i; char *p; for(i=strlen(a);i>=0;i--) { p=&a[i]; if(*p==b) { break; } } if(i==strlen(a)) { return -1; } else { return i; } }
Output
C Program to Find first occurrence of char from a String.
C Program to Find first occurrence of char from a String.Compiled in DEV C++
#include<stdio.h> #include<string.h> #include<conio.h> int First_Occurrence_Char(char [],char ); main() { char text[30],searchChar; int position; printf("\nProgram to Find first occurrence of char from a String \n"); printf("\n-----------------------------------------------------------\n\n\n"); printf("Enter Text : "); gets(text); printf("\nSearched Char : "); scanf("%c",&searchChar); position=First_Occurrence_Char(text,searchChar); printf("\nCharecter '%c' Found in String '%s' at Position %d",searchChar,text,position); getch(); } int First_Occurrence_Char(char a[],char b) { int i; char *p; for(i=0;i<strlen(a);i++) { p=&a[i]; if(*p==b) { break; } } if(i==strlen(a)) { return -1; } else { return i; } }