OK, I Cant get this C++ program to run #include <cstdlib> #include <iostream> #i
ID: 674229 • Letter: O
Question
OK, I Cant get this C++ program to run
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream MasterFile;
ifstream TransactionFile;
ofstream New_MasterFile;
int mClientNumber;
double mtotalClientCost;
int tClientNumber;
double titemClientCost;
string mClientfName;
string mClientlName;
cout << "Master File Updating Starting" << endl;
MasterFile.open("Master.txt")
TransactionFile.open("Transaction.txt");
New_MasterFile.open("newMaster.txt");
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mtotalClientCost;
MasterFile >> mClientlName;
TransactionFile >> tClientNumber;
TransactionFile >> titemClientCost;
while(!TransactionFile.eof())
{
while((!MasterFile.eof()) and (mClientNumber < tClientNumber))
{
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
if(!MasterFile.eof())
{
cout << "ERROR Client ID:" << tClientNumber << "not in Master File.";
}
else if (mClientNumber==tClientNumber)
{
mtotalClientCost = mtotalClientCost + titemClientCost;
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
else if (mClientNumber > tClientNumber)
{
cout << "Error Client ID:" << tClientNumber << "Not in Master File.";
}
TransactionFile >> tClientNumber;
TransactionFile >> titemClientCost;
}
while (!MasterFile.eof())
{
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
cout << "Master File Updating Complete" << endl;
MasterFile.close();
TransactionFile.close();
New_MasterFile.close();
system("Pause");
return 0;
}
}
Transaction File
1 568.34
5 345.10
6 1012.43
17 2045.12
100 1231.00
101 167.39
125 5239.67
Master File
5 Mike Smith 2098.72
6 Sue Nathan 1234.32
100 Bobby Jones 519.69
125 Sally Mayer 345.74
200 Danny Glover 5623.18
Explanation / Answer
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// Start
// Declarations
// InputFile masterFile;
// InputFile transactionFile;
// OutputFile newMasterFile;
// num mClientNumber, mtotalClientCost, tClientNumber, titemClientCost
// string mClientfName, mClientlName
// output "Master File Updating Starting"
// open masterFile "Master.rtf"
// open transactionFile "Transaction.rtf"
// open newMasterFile "newMaster.rtf"
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
// read tClientNumber, titemClientCost from transactionFile
// while ( transactionFile not EOF )
// while (( masterFile not EOF) and (mClientNumber < tClientNumber))
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
// endwhile
// if (masterFile is EOF)
// output "Error Client ID: ", tClientNumber, " not in Master File."
// else if (mClientNumber == tClientNumber) then
// mtotalClientCost = mtotalClientCost + titemClientCost
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
// else if (mClientNumber > tClientNumber) then
// output "Error Client ID: ", tClientNumber, " not in Master File."
// endif
// read tClientNumber, titemClientCost from transactionFile
// endwhile
// while (masterFile not EOF)
// output mClientNumber, mClientfName, mClientlName, mtotalClientCost to newMasterFile
// read mClientNumber, mClientfName, mClientlName, mtotalClientCost from masterFile
// endwhile
// output "Master File Updating Complete"
// close masterFile
// close transactionFile
// close newMasterFile
// Stop
int main(int argc, char *argv[])
{
ifstream MasterFile;
ifstream TransactionFile;
ofstream New_MasterFile;
int mClientNumber;
double mtotalClientCost;
int tClientNumber;
double titemClientCost;
string mClientfName;
string mClientlName;
cout << "Master File Updating Starting" << endl;
MasterFile.open("Master.txt");
TransactionFile.open("Transaction.txt");
New_MasterFile.open("newMaster.txt");
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mtotalClientCost;
MasterFile >> mClientlName;
TransactionFile >> tClientNumber;
TransactionFile >> titemClientCost;
while(!TransactionFile.eof())
{
while (( !MasterFile.eof()) and (mClientNumber < tClientNumber))
{
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
if (!MasterFile.eof())
{
cout << "ERROR Client ID: " << tClientNumber << " not in Master File. " ;
}
else if (mClientNumber == tClientNumber)
{
mtotalClientCost = mtotalClientCost + titemClientCost;
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
else if (mClientNumber > tClientNumber)
{
cout << "Error Client ID: ", tClientNumber, " not in Master File.";
}
TransactionFile >> tClientNumber;
TransactionFile >> titemClientCost;
}
while (!MasterFile.eof())
{
New_MasterFile << mClientNumber;
New_MasterFile << mClientfName;
New_MasterFile << mClientlName;
New_MasterFile << mtotalClientCost;
MasterFile >> mClientNumber;
MasterFile >> mClientfName;
MasterFile >> mClientlName;
MasterFile >> mtotalClientCost;
}
cout << "Master File Updating Complete " << endl;
MasterFile.close();
TransactionFile.close();
New_MasterFile.close();
system("PAUSE");
return EXIT_SUCCESS;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.