no output result when searching array or displaying array

im creating a list that allows me to input data that search or display the inputted data. for some reason im not able to produce an output. problem may be the output function,how can i fix this. here is the code

#include<iostream>
#include<string>
#include<cstdlib>
#include <stdio.h>
#include <string.h>

using namespace std;

class contact{
private:
string fn;
string ln;
string email;
string number;
public:
// Accessor and Mutator method for contacts variable
void setfname(string f_n);
string getfname();
void setlname(string l_n);
string getlname();
void setemail(string emaila);
string getemail();
void setnumber(string num);
string getnumber();
// takes input entered for contacts
void input();
// display output
void output();
contact();

contact(string f_n, string l_n, string emaila,string num);
};

void menu();
void EnterContact(contact contacts[], int size, int& numberUsed);
void show(contact contacts[], int sizeOfa);
int search_contacts(contact contacts[], string& lastname, int& size);

int main(){
string opt="";
const int MAX=2;
int size;
contact contacts[MAX];
contact c[MAX];
for(int i=0; i<MAX; i++){
EnterContact(contacts, MAX, size);
}
menu();

system("pause");

return 0;
}

#include "contact.h"
//use these variables globally
const int MAX = 2;
contact contacts[MAX];

void EnterContact(contact contacts[], int size, int& numberUsed)
{
char ans;
bool done = false;
int index = 0;
cout << "Enter up to " << size << endl;
while ((!done) && (index < size))
{
contacts[index].input();
cout << "Do you want to add another contact?(y/n followed by Return): ";
cin >> ans;
if ((ans == 'y') && (ans == 'Y'))
index++;
else
done = true;
}
numberUsed = index+1;
}

int search_contacts(contact contacts[], string& lastname, int& size)
{
int index = 0;
bool found = false;
for(int index=0; index<size ; index++){
if (lastname == contacts[index].getlname()){
found = true;
cout<<"found";
break;
}
}

if (!found)
cout<<"no";
return index;
}
void show(contact contacts[], int sizeOfa)
{
for (int index = 0; index < sizeOfa; index++)
contacts[index].output();
}

void menu()
{
cout<<"\nContact Menu"<<endl;
cout << "1. Add a New Contact. " << endl;
cout << "2. Search for a Contact. " << endl;
cout << "3. Delete Contact from list. " << endl;
cout << "4. View All Contacts. " << endl;
cout << "5. Exit the program. " << endl;
cout << "Enter your choice: ";
int opt; int result, a; char ans; string lastname;
cin>>opt;
switch (opt)
{
case 1: cout<<"func to Add a New Contact"<<endl;
cout<<"\nAdd another contact";
break;
case 2:
do
{
cout << "\nSearch contact by lastname: ";
cin >> lastname;
result = search_contacts(contacts, lastname, result);
if (result == -1)
cout << lastname << " Contact not found.\n";
else
contacts[result].output();

cout << lastname << " is stored in array position "<< result << endl;
cout << "Search again? (y/n): ";
cin >> ans;
} while ((ans != 'n') && (ans != 'N'));
menu();
break;
case 3: cout<<"func to Delete Contact from list";
break;
case 4: cout<<"\nAll Contacts"<<endl;
show(contacts, MAX);
cout<<endl;
menu();
break;
case 5: cout<<"\nContact Book is closed"<<endl;
exit(1);
break;
default: cout<<"\nInvalid entry...Closing Contact Book"<<endl;
}
}
contact::contact()
{
fn=""; ln=""; email=""; number="";
}
contact::contact(string f_n, string l_n, string emaila,string num)
{
fn= f_n; ln= l_n; email= emaila;number= num;
}
void contact::input()
{
cout<<"\nFirst Name: ";
cin>>fn;
cout<<"Last Name: ";
cin>>ln;
cout<<"Email: ";
cin>>email;
cout<<"Phone number: ";
cin>>number;
}

void contact::output()
{
cout<<"\nName: "<<fn<<" "<<ln;
cout<<"\nEmail: "<<email;
cout<<"\nPhone number: "<<number;
cout<<endl;
}
void contact::setfname(string f_n)
{
fn= f_n;
}
string contact::getfname()
{
return fn;
}
void contact::setlname(string l_n)
{
ln= l_n;
}
string contact::getlname()
{
return ln;
}
void contact::setemail(string emaila)
{
email= emaila;
}
string contact::getemail()
{
return email;
}
void contact::setnumber(string num)
{
number= num;
}
string contact::getnumber()
{
return number;
}

Topic archived. No new replies allowed.