Can you see where I did wrong in this program ?  They show in compiler :  ar@osboxes:~ Documents/C++/Project/Projekt_alternativ/"try5 /usr/bin/ld: /tmp/ccvECf7h.o: in function `add()': try5.cpp:(.text+0x502): undefined reference to `WriteToFile()' collect2: error: ld returned 1 exit status 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 5- Remove a Person" << "\n6- Alphabetical Order \n7-Exit\n"; cin >> choice; switch(choice){ case 1: add(); case 2: browse();break; case 3: searchByName(); case 4: searchByBirthday(); case 5: removeContact(); 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 (FullName); 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; count ++; cout<<"\n"; WriteToFile(); } void browse(){ cout << "Name\n"; 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(); }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 19SA
icon
Related questions
Topic Video
Question

Can you see where I did wrong in this program ? 

They show in compiler : 
ar@osboxes:~

Documents/C++/Project/Projekt_alternativ/"try5
/usr/bin/ld: /tmp/ccvECf7h.o: in function `add()':
try5.cpp:(.text+0x502): undefined reference to `WriteToFile()'
collect2: error: ld returned 1 exit status

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 5- Remove a Person" << "\n6- Alphabetical Order \n7-Exit\n";
cin >> choice;
switch(choice){
case 1: add();
case 2: browse();break;
case 3: searchByName();
case 4: searchByBirthday();
case 5: removeContact();
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 (FullName);
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;
count ++;
cout<<"\n";
WriteToFile();
}
void browse(){
cout << "Name\n";
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();
}

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
Instruction Format
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
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