Case 3 and 4 : How can I search by name or Birthday from the file and not from the compiler . Thanks.  To understand my question the best to try it by compiler and press 3 or 4.  and then enter Name Helena for exampel and the output is not found and there Helena in the file.  ContactsBook.txt: Name: Adam Date of Birth: 671231 Address Göteborg Email: gadfl@outlook.com Phone Number: 765432 Name: Josef Date of Birth: 960607 Address Skövde Email: hbcs@gmail.com Phone Number: 7230173 Name: Helena Date of Birth: 560124 Address Halmstad Email: helena@outlook.com Phone Number: 7321745   The program:    #include #include #include using namespace std; #define M 100 int count=0; struct AddressBook{ string FullName; int Birthday; string Address; string Email; int PhoneNumber; } Person [M]; void WriteToFile(); void add(); void browse(); void searchByName(); void searchByBirthday(); void removeContact(); void order(); int main(){ fstream file; file.open("Contact'sBook.txt"); int choice; do{ cout << "Please Enter Your Choise: \n"; cout << " 1- Add New Person\n 2- Browse\n 3- Search By Full Name \n 4-Search By Birthday \n 5-Remove a Person" << "\n 6- Alphabetical Order \n 7- Exit\n"; cin >> choice; switch(choice){ case 1: add(); break; case 2: browse();break; case 3: searchByName();break; case 4: searchByBirthday();break; case 5: removeContact();break; case 6: order(); break; case 7: return 0; } } while (count < M ); return 0; } void WriteToFile(string FullName, int Birthday, string Address, int PhoneNumber, string Email){ ofstream contactFile ("Contact'sBook.txt", std::ios_base::app); if(contactFile.is_open()){ contactFile << "Name: " << FullName << "\n"; contactFile << "Date of Birth: " << Birthday << "\n"; contactFile << "Address " << Address << "\n"; contactFile << "Email: " << Email << "\n"; contactFile << "Phone Number: " << PhoneNumber << "\n"; } else{ cout << "Error 23 Contact your Administrator :D." << endl; } //return 0; } void add(){ cout << "Person's Name:";cin>> Person[count].FullName; cout << "Person's Birthday:";cin>>Person[count].Birthday; cout << "Person's Address:";cin>>Person[count].Address; cout << "Person's Email:";cin>>Person[count].Email; cout << "Person's Phone Number:";cin>>Person[count].PhoneNumber; cout<<"\n"; WriteToFile(Person[count].FullName,Person[count].Birthday,Person[count].Address,Person[count].PhoneNumber,Person[count].Email); count++; } void browse(){ for(int i =0; i < count;i++) cout << Person[i].FullName<<"\t"<< Person[i].Birthday<<"\t"<> FullName; for(i=0;i> B; for (i=0; i> delChoice; for(int i =delChoice-1; i < count-1;i++){ Person[i].FullName = Person[i+1].FullName; Person[i].Birthday =Person[i+1].Birthday; Person[i].Address = Person[i+1].Address; Person[i].Email= Person[i+1].Email; Person[i].PhoneNumber = Person[i+1].PhoneNumber; } count--; cout<< "AddressBook after deletion is " < Person[j+1].FullName){ temp=Person[j]; Person[j]=Person[j+1]; Person[j+1]= temp; } } } cout << "\n"; browse(); }

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter7: File Handling And Applications
Section: Chapter Questions
Problem 1GZ
icon
Related questions
Question

Case 3 and 4 : How can I search by name or Birthday from the file and not from the compiler . Thanks. 

To understand my question the best to try it by compiler and press 3 or 4.  and then enter Name Helena for exampel and the output is not found and there Helena in the file. 

ContactsBook.txt:


Name: Adam
Date of Birth: 671231
Address Göteborg
Email: gadfl@outlook.com
Phone Number: 765432

Name: Josef
Date of Birth: 960607
Address Skövde
Email: hbcs@gmail.com
Phone Number: 7230173

Name: Helena
Date of Birth: 560124
Address Halmstad
Email: helena@outlook.com
Phone Number: 7321745

 

The program: 

 

#include<iostream>
#include <fstream>
#include<string>
using namespace std;
#define M 100
int count=0;
struct AddressBook{
string FullName;
int Birthday;
string Address;
string Email;
int PhoneNumber;
}
Person [M];
void WriteToFile();
void add();
void browse();
void searchByName();
void searchByBirthday();
void removeContact();
void order();
int main(){
fstream file;
file.open("Contact'sBook.txt");
int choice;
do{
cout << "Please Enter Your Choise: \n";
cout << " 1- Add New Person\n 2- Browse\n 3- Search By Full Name \n 4-Search By Birthday \n 5-Remove a Person" << "\n 6- Alphabetical Order \n 7- Exit\n";
cin >> choice;
switch(choice){

case 1: add(); break;
case 2: browse();break;
case 3: searchByName();break;
case 4: searchByBirthday();break;
case 5: removeContact();break;
case 6: order(); break;
case 7: return 0;

}
}
while (count < M );
return 0;

}
void WriteToFile(string FullName, int Birthday, string Address, int PhoneNumber, string Email){
ofstream contactFile ("Contact'sBook.txt", std::ios_base::app);
if(contactFile.is_open()){
contactFile << "Name: " << FullName << "\n";
contactFile << "Date of Birth: " << Birthday << "\n";
contactFile << "Address " << Address << "\n";
contactFile << "Email: " << Email << "\n";
contactFile << "Phone Number: " << PhoneNumber << "\n";
}
else{
cout << "Error 23 Contact your Administrator :D." << endl;
}

//return 0;
}

void add(){
cout << "Person's Name:";cin>> Person[count].FullName;
cout << "Person's Birthday:";cin>>Person[count].Birthday;
cout << "Person's Address:";cin>>Person[count].Address;
cout << "Person's Email:";cin>>Person[count].Email;
cout << "Person's Phone Number:";cin>>Person[count].PhoneNumber;
cout<<"\n";

WriteToFile(Person[count].FullName,Person[count].Birthday,Person[count].Address,Person[count].PhoneNumber,Person[count].Email);
count++;
}
void browse(){


for(int i =0; i < count;i++)
cout << Person[i].FullName<<"\t"<< Person[i].Birthday<<"\t"<<Person[i].Address<<"\t"<<Person[i].Email<<"\t"<<Person[i].PhoneNumber<<"\t" <<"\n";
cout<<"\n";

}
void searchByName(){
string FullName;
bool found = false;
int i;
cout << "Enter name: ";cin >> FullName;
for(i=0;i<count; i++){
if (FullName == Person[i].FullName){
cout << Person[i].FullName<<"\t"<< Person[i].Birthday<<"\t"<<Person[i].Address<<"\t"<<Person[i].Email<<"\t"<<Person[i].PhoneNumber<<"\t" <<"\n";
found = true;

}
}
if(!found){
cout << FullName << " was not found \n";
}
}
void searchByBirthday() {
int B;
bool found = false;
int i ;
cout << " Enter Person's Birthday: "; cin >> B;
for (i=0; i<count; i++){
if (Person[i].Birthday==B){
cout << Person[i].FullName<<"\t"<< Person[i].Birthday<<"\t"<<Person[i].Address<<"\t"<<Person[i].Email<<"\t"<<Person[i].PhoneNumber<<"\t" <<"\n";
found = true;
}
}
cout << "\n";
if(!found){
cout << "No result\n";
}

}
void removeContact(){
browse();
int delChoice;
cout << "Enter Contact to be deleted by index no"<< endl;
cin >> delChoice;
for(int i =delChoice-1; i < count-1;i++){
Person[i].FullName = Person[i+1].FullName;
Person[i].Birthday =Person[i+1].Birthday;
Person[i].Address = Person[i+1].Address;
Person[i].Email= Person[i+1].Email;
Person[i].PhoneNumber = Person[i+1].PhoneNumber;
}
count--;
cout<< "AddressBook after deletion is " <<endl;
browse();
}

void order(){
int i,j;
AddressBook temp;
if(count < 2) ;
for(i=0; i<count; i++){
for (j=0; j<count -1; j++){
if(Person[j].FullName > Person[j+1].FullName){
temp=Person[j];
Person[j]=Person[j+1];
Person[j+1]= temp;
}
}
}
cout << "\n";
browse();
}

 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
File Input and Output Operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning