Would you help here please ! The problem now is: 1. When I press number 2 and which should be void browse (); the Compiler doesn't take it. 2. When I press number 3 or 4 which serch by name or Birthday . The out put come No result found and I know There is the name or the birthday i the text file. 3. When I press number 5 which should delete any name exist in file but the output come that's no result. 4. When I press number 6 which should sort the file by name . The compiler dosn't take my number. And there is no wrong in the code but I don't know how can i fix the problems. #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"; out:browse(); } Contact'sBook.txt: Name: Martin Date of Birth: 10102 Address Alingsås Email: alin@outlook.com Phone Number: 980621 Name: Salma Date of Birth: 780123 Address Falkenberg Email: ghsa@yahoo.com Phone Number: 87654321 Name: Ingrid Date of Birth: 720312 Address Stockholm Email: asde@live.com Phone Number: 9865431 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
Would you help here please !
The problem now is:
1. When I press number 2 and which should be void browse (); the Compiler doesn't take it.
2. When I press number 3 or 4 which serch by name or Birthday . The out put come No result found and I know There is the name or the birthday i the text file.
3. When I press number 5 which should delete any name exist in file but the output come that's no result.
4. When I press number 6 which should sort the file by name . The compiler dosn't take my number.
And there is no wrong in the code but I don't know how can i fix the problems.
#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) goto out;
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";
out:browse();
}
Contact'sBook.txt:
Name: Martin
Date of Birth: 10102
Address Alingsås
Email: alin@outlook.com
Phone Number: 980621
Name: Salma
Date of Birth: 780123
Address Falkenberg
Email: ghsa@yahoo.com
Phone Number: 87654321
Name: Ingrid
Date of Birth: 720312
Address Stockholm
Email: asde@live.com
Phone Number: 9865431
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
Step by step
Solved in 2 steps with 1 images