Why is this file giving an error? I\'m not sure what I\'m looking for. It seems
ID: 3915775 • Letter: W
Question
Why is this file giving an error? I'm not sure what I'm looking for. It seems that all the syntax is correct. What am I looking for that is incorrect?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
// Start
// Declarations
// InputFile masterFile;
ifstream masterFile;
// InputFile transactionFile;
ifstream transactionFile;
// OutputFile newMasterFile;
ofstream newMasterFile;
// num mClientNumber, mtotalClientCost, tClientNumber, titemClientCost
int mClientNumber, tClientNumber;
double mtotalClientCost, titemClientCost;
// string mClientfName, mClientlName
string mClientfName, mClientlName;
// output "Master File Updating Starting"
cout << "Master File Updating Starting" << endl;
// open masterFile "Master.rtf"
masterFile.open("Master.rtf");
// open transactionFile "Transaction.rtf"
transactionFile.open("Transaction.rtf");
// open newMasterFile "newMaster.rtf"
newMasterFile.open("newMaster.rtf");
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// read tClientNumber, titemClientCost from transactionFile
transactionFile >> tClientNumber >> titemClientCost;
// while ( transactionFile not EOF )
while(!(transactionFile.eof()))
{
// while (( masterFile not EOF) and (mClientNumber < tClientNumber))
while((!(masterFile.eof())) && (mClientNumber < tClientNumber))
{
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// endwhile
}
// if (masterFile is EOF)
if(masterFile.eof())
{
// output "Error Client ID: ", tClientNumber, " not in Master File."
cout << "Error Client ID: " << tClientNumber << "not in Master File." << endl;
// else if (mClientNumber == tClientNumber) then
else if (mClientNumber == tClientNumber)
{
// mtotalClientCost = mtotalClientCost + titemClientCost
mtotalClientCost = mtotalClientCost + titemClientCost;
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
}
// else if (mClientNumber > tClientNumber) then
else if (mClientNumber > tClientNumber)
{
// output "Error Client ID: ", tClientNumber, " not in Master File."
cout << "Error Client ID: " << tClientNumber << "not in Master File." << endl;
}
// endif
}
// read tClientNumber, titemClientCost from transactionFile
transactionFile >> tClientNumber >> titemClientCost;
// endwhile
}
// while (masterFile not EOF)
while (!(masterFile.eof()))
{
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// endwhile
}
// output "Master File Updating Complete"
cout << "Master File Updating Complete" << endl;
// close masterFile
masterFile.close();
// close transactionFile
transactionFile.close();
// close newMasterFile
newMasterFile.close();
// Stop
return 0;//Stop
}
Explanation / Answer
//Hey you just started an else if clause without an if clause.This is the clause that you have started "if (mClientNumber == tClientNumber)".Thank you.If there are any doubts for you, comment below.Here's the the after modifying
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
// Start
// Declarations
// InputFile masterFile;
ifstream masterFile;
// InputFile transactionFile;
ifstream transactionFile;
// OutputFile newMasterFile;
ofstream newMasterFile;
// num mClientNumber, mtotalClientCost, tClientNumber, titemClientCost
int mClientNumber, tClientNumber;
double mtotalClientCost, titemClientCost;
// string mClientfName, mClientlName
string mClientfName, mClientlName;
// output "Master File Updating Starting"
cout << "Master File Updating Starting" << endl;
// open masterFile "Master.rtf"
masterFile.open("Master.rtf");
// open transactionFile "Transaction.rtf"
transactionFile.open("Transaction.rtf");
// open newMasterFile "newMaster.rtf"
newMasterFile.open("newMaster.rtf");
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// read tClientNumber, titemClientCost from transactionFile
transactionFile >> tClientNumber >> titemClientCost;
// while ( transactionFile not EOF )
while(!(transactionFile.eof()))
{
// while (( masterFile not EOF) and (mClientNumber < tClientNumber))
while((!(masterFile.eof())) && (mClientNumber < tClientNumber))
{
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// endwhile
}
// if (masterFile is EOF)
if(masterFile.eof())
{
// output "Error Client ID: ", tClientNumber, " not in Master File."
cout << "Error Client ID: " << tClientNumber << "not in Master File." << endl;
// else if (mClientNumber == tClientNumber) then
if (mClientNumber == tClientNumber)
{
// mtotalClientCost = mtotalClientCost + titemClientCost
mtotalClientCost = mtotalClientCost + titemClientCost;
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
}
// else if (mClientNumber > tClientNumber) then
else if (mClientNumber > tClientNumber)
{
// output "Error Client ID: ", tClientNumber, " not in Master File."
cout << "Error Client ID: " << tClientNumber << "not in Master File." << endl;
}
// endif
}
// read tClientNumber, titemClientCost from transactionFile
transactionFile >> tClientNumber >> titemClientCost;
// endwhile
}
// while (masterFile not EOF)
while (!(masterFile.eof()))
{
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
newMasterFile << mClientNumber << mClientfName << mClientlName << mtotalClientCost << endl;
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
masterFile >> mClientNumber >> mClientfName >> mClientlName >> mtotalClientCost;
// endwhile
}
// output "Master File Updating Complete"
cout << "Master File Updating Complete" << endl;
// close masterFile
masterFile.close();
// close transactionFile
transactionFile.close();
// close newMasterFile
newMasterFile.close();
// Stop
return 0;//Stop
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.