//Search within array of matches and display the results
void SearchMatches(Match* matches,int size,string TeamName)
{
//declare the result array
Match SearchResult[2000];
//initalize the result counter
int SearchResultCount=0;
int SelectedNumber;
//search within the matches array
for(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the match
if(matches[i].Team1==TeamName || matches[i].Team2==TeamName)
{
//update the search result counter
SearchResultCount++;
//display the seasons
cout<<endl<<"("<<SearchResultCount<<") "<<matches[i].Season;
//store the matched match in the search result array
SearchResult[SearchResultCount] = matches[i];
}
}
cout << endl;
//check for results
if(SearchResultCount>0)
{
cout << "which year would you like to view results "<<endl;
cin>>SelectedNumber;
//display the match information
cout<<SearchResult[SelectedNumber].Season<<endl;
cout<<SearchResult[SelectedNumber].Team1<<endl;
cout<<"Over"<<endl;
cout<<SearchResult[SelectedNumber].Team2<<endl;
cout<<SearchResult[SelectedNumber].Result<<endl;
}
else cout<<"No search result";
cout<<endl;
}
void SearchMatches(Match* matches,int size,string TeamName, int record)
{
//declare the result array
Match SearchResult;
//initalize the result counter
int SearchResultCount=0;
//int SelectedNumber;
//search within the matches array
for(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the match
if(matches[i].Team1==TeamName || matches[i].Team2==TeamName)
{
//update the search result counter
SearchResultCount++;
if (SearchResultCount == record)
{
//store the
//display the seasons
//cout<<endl<<"("<<SearchResultCount<<") "<<matches[i].Season;
//store the matched match in the search result array
SearchResult = matches[i];
break;
}
}
}
cout<<endl;
//check for results
if(SearchResultCount>0)
{
//display the match information
cout<<SearchResult.Season<<endl;
cout<<SearchResult.Team1<<endl;
cout<<"Over"<<endl;
cout<<SearchResult.Team2<<endl;
cout<<SearchResult.Result<<endl;
}
else cout<<"No search result";
cout<<endl;
}
// This function is used for storing the last search keyword entered to the recallteam.txt
void WriteLastSearchWord(string word)
{
ofstream myfile;
myfile.open("nflSave.txt");
myfile << word;
myfile.close();
}
// This function is used for read the last search keyword enter from the recallteam.txt
void ReadLastSearchWord(string &team, int &record)
{
ifstream inFile("nflSave.txt");
getline(inFile, team);
inFile >> record;
inFile.close();
}
void Football::RunFootball()
{
ifstream inFile("nfl.txt");
//initailze the matches ( array of strcuts )
Match *matches[2000];
// create input stream for file
//It will holds the read lines from the file
string Buffer;
// check if the file is exist
if(!inFile.is_open())
{
//display the error message
//cout<<"Failed to open file"<<endl;
cerr << " File is Missing";
}
// initalize the counter
int matchesCounter=0;
while(!inFile.eof())
{ //&Match::operator =(const Match &)
//read season
matches[matchesCounter] = new Match;
getline(inFile,Buffer);
matches[matchesCounter]->Season = Buffer;
//read team1 name
getline(inFile,Buffer);
matches[matchesCounter]->Team1 = Buffer;
//read the "over" string
getline(inFile,Buffer);
//read team2 name
getline(inFile,Buffer);
matches[matchesCounter]->Team2 = Buffer;
//read result
getline(inFile,Buffer);
matches[matchesCounter]->Result = Buffer;
//read the empty line
getline(inFile,Buffer);
//update the matches counter
matchesCounter++;
}
//its used for Main menu selection
char Check='1';
while(Check !='3')
{
//Display the main menu
cin>>Check;
switch(Check)
{
//Search
case '1':
{
string TeamName="";
getline(cin,TeamName);
system("cls");
cout << "Please Enter Team City And Team Name" <<endl;
getline(cin,TeamName);//free's buffer
WriteLastSearchWord(TeamName);
SearchMatches(matches,matchesCounter,TeamName);
break;
}
//Display the last search team
case '2':
{
string team;
int record;
ReadLastSearchWord(team, record);
system("cls");
cout << "Last Recorded Viewed" <<endl;
SearchMatches(matches,matchesCounter ,team , record);
break;
}
//Exit the program
case '3':
{
exit(0);
}
default:continue;
Given that every symbol you reference in football.cpp from main.cpp is undefined, I'd first suspect that you're not linking football.obj into the executable.
Can you post the linker command that is being executed to create the exe?