#ifndef FOOTBALL_H#define FOOTBALL_H#include <iostream>#include <fstream>#include <string>#include "Message.h"usingnamespace std;
// definition of strct that will hold all information of matchstruct Match
{
string Season;
string Team1;
string Team2;
string Result;
};
class Football : public Message
{
public:
void WriteLastSearchWord(string word);
void ReadLastSearchWord(string &team, int &record);
void SearchMatches(Match* matches,int size,string TeamName);
void SearchMatches(Match* matches,int size,string TeamName, int record);
int RunFootball();
Football(string *footBallData);
protected:
string &footBallSave;
string team;
};
#endif
#include <iostream>#include <fstream>#include <string>#include "Football.h"#include "Message.h"usingnamespace std;
//Search within array of matches and display the resultsvoid SearchMatches(Match* matches,int size,string TeamName)
{
//declare the result array
Match SearchResult[2000];
//initalize the result counterint SearchResultCount=0;
int SelectedNumber;
//search within the matches arrayfor(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the matchif(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 resultsif(SearchResultCount>0)
{
cout << "which year would you like to view results "<<endl;
cin>>SelectedNumber;
SelectedNumber;
ofstream myfile;
myfile.open("nflSave.txt",ios::app);
myfile << endl << SelectedNumber;
myfile.close();
//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 counterint SearchResultCount=0;
//int SelectedNumber;//search within the matches arrayfor(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the matchif(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 resultsif(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.txtvoid 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.txtvoid ReadLastSearchWord(string &team, int &record)
{
ifstream inFile("nflSave.txt");
getline(inFile, team);
inFile >> record;
inFile.close();
}
int 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;
return 0;
}
// initalize the counterint matchesCounter=0;
while(!inFile.eof())
{
//read season
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 selectionchar 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 teamcase'2':
{
string team;
int record;
ReadLastSearchWord(team, record);
system("cls");
cout << "Last Recorded Viewed" <<endl;
SearchMatches(matches,matchesCounter ,team , record);
break;
}
//Exit the programcase'3':
{
exit(0);
}
default:continue;
}
}
}
#include <iostream>#include <fstream>#include <string>usingnamespace std;
// definition of strct that will hold all information of matchstruct Match
{
string Season;
string Team1;
string Team2;
string Result;
};
// Display the main menu on screenvoid DisplayMainMenu()
{
cout<<"1- Please enter team name"<<endl;
cout<<"2- View last record"<<endl;
cout<<"3- Exit program"<<endl;
cout<<"Please select number"<<endl;
}
//Search within array of matches and display the resultsvoid SearchMatches(Match* matches,int size,string TeamName)
{
//declare the result array
Match SearchResult[2000];
//initalize the result counterint SearchResultCount=0;
int SelectedNumber;
//search within the matches arrayfor(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the matchif(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 resultsif(SearchResultCount>0)
{
cout << "which year would you like to view results "<<endl;
cin>>SelectedNumber;
SelectedNumber;
ofstream myfile;
myfile.open("recallTeam.txt",ios::app);
myfile << endl << SelectedNumber;
myfile.close();
//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 counterint SearchResultCount=0;
//int SelectedNumber;//search within the matches arrayfor(int i=0;i<size;i++)
{
//check if the entered name is the team1 or team2 in the matchif(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 resultsif(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.txtvoid WriteLastSearchWord(string word)
{
ofstream myfile;
myfile.open("recallTeam.txt");
myfile <<word;
myfile.close();
}
// This function is used for read the last search keyword enter from the recallteam.txtvoid ReadLastSearchWord(string &team, int &record)
{
ifstream inFile("recallTeam.txt");
getline(inFile, team);
inFile >> record;
inFile.close();
}
int main()
{
ifstream inFile("nfl.txt");
//initailze the matches ( array of strcuts )
Match matches[2000];
// create input stream to nba.txt 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;
return 0;
}
// initalize the counterint matchesCounter=0;
while(!inFile.eof())
{
//read season
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 selectionchar Check='1';
while(Check !='3')
{
//Display the main menu
DisplayMainMenu();
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 teamcase'2':
{
string team;
int record;
ReadLastSearchWord(team, record);
system("cls");
cout << "Last Recorded Viewed" <<endl;
SearchMatches(matches,matchesCounter ,team , record);
break;
}
//Exit the programcase'3':
{
exit(0);
}
default:continue;
}
}
}
so would this be correct ??? also i wanted to allocate a variable for memory string &footBallSave; and take all items stored from WriteLastSearchWord in to this variable ..i keep getting a error saying this variable is not initialized when i go to implement it here
int 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;
return 0;
}
// initalize the counterint matchesCounter=0;
while(!inFile.eof())
{
//read season
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 selectionchar 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(Match matches,matchesCounter,TeamName);
break;
}
//Display the last search teamcase'2':
{
string team;
int record;
ReadLastSearchWord(Match matches, team, record);
system("cls");
cout << "Last Recorded Viewed" <<endl;
SearchMatches(Match matches,matchesCounter ,team , record);
break;
}
//Exit the programcase'3':
{
exit(0);
}
default:continue;
}
}