I am getting an error on my second input file stream. Is there a way to use one file stream and open two files.Code:#include <iostream> #include <iomanip> #include <string> #include <fstream> #include <cstdlib> using namespace std; void ReadPlayerInfo(ifstream& myIn, string NameArray[], int idArray[], int& size); void ReadProcessBatting (ifstream& myIn2, const int id [], float batAvg [], int walkArray[],int &size); void ProcessRecord(string batRec, float& batAvgRunning, int& walk); int SearchPosition(const int idArray[], int id, int size); void PrintTable(string nameArray[],int idArray[],float averageArray[],int walkArray[],int size); int FindHigh(float averageArray[], int size); int FindLow(float averageArray[], int size); int main() { //Declare Variables string NameArray[20]; string batRec; int idArray[20]; int size = 20; int id[20]; int walkArray[20]; int walk = 0; float batAvg[20]; float batAvgRunning = 0; float averageArray[20]; int i; //Begin opening files string PlayerRecordsFile; string PlayerBattingFile; ifstream myIn; ifstream myIn2; cout << "Enter file name that contains player records: "; cin >> PlayerRecordsFile; myIn.open(PlayerRecordsFile.c_str()); while (!myIn) { cout << "Enter file name that contains player records: "; cin >> PlayerRecordsFile; myIn.open(PlayerRecordsFile.c_str()); } ReadPlayerInfo(myIn, NameArray, idArray, size); for (i=0;i<size;i++) { cout << NameArray[i] << ' ' << idArray[i] << endl; } cout << "Enter file name that contains batting data: "; cin >> PlayerBattingFile; myIn2.open(PlayerBattingFile.c_str()); while (!myIn2) { cout << "Enter file name that contains batting data: "; cin >> PlayerBattingFile; myIn2.open(PlayerBattingFile.c_str()); } for (i=0;i<size;i++) { ReadProcessBatting(myIn2, id, batAvg, walkArray, size); } myIn.close(); myIn.clear(); myIn2.close(); myIn2.clear(); return 0; } void ReadPlayerInfo(ifstream& myIn, string NameArray[], int idArray[], int& size) { string playerName; int playerNumber; int i; for (i=0;i<size;i++) { myIn >> playerName; NameArray[i] = playerName; myIn >> playerNumber; idArray[i] = playerNumber; } } void ProcessRecord(string batRec, float& batAvgRunning, int& walk) { int x = 0; char choice; float hit = 0; float out = 0; while (x < batRec.length()) { choice = batRec[x]; x++; switch(choice) { case 'O': out++; break; case 'H': hit++; break; case 'W': walk++; break; default: break; } } cout << "Outs: " << out << endl; cout << "Hits: " << hit << endl; cout << "Walks: " << walk << endl; batAvgRunning = (hit/(out+hit)); } void ReadProcessBatting(ifstream& myIn2, const int id [], float batAvg [], int walkArray[],int &size) { int x; for (x=0;x<size;x++) { myIn2 >> id[x]; } }
Long error code no idea what it means.Code:ola7.cc: In function 'void ReadProcessBatting(std::ifstream&, const int*, float*, int*, int&)': ola7.cc:137: error: no match for 'operator>>' in 'myIn2 >> *(id + ((unsigned int)(((unsigned int)x) * 4u)))' /usr/include/c++/4.3/istream:123: note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>] <near match> /usr/include/c++/4.3/istream:127: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>] <near match> /usr/include/c++/4.3/istream:134: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>] <near match> /usr/include/c++/4.3/istream:170: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:174: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:177: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:181: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:184: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:188: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:192: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:197: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:201: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:206: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:210: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:214: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:218: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char, _Traits = std::char_traits<char>] /usr/include/c++/4.3/istream:242: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>] <near match>



LinkBack URL
About LinkBacks



