Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help writing c++ code from this pseudocode The Martin Weight Loss Clinic

ID: 3915899 • Letter: I

Question

I need help writing c++ code from this pseudocode

The Martin Weight Loss Clinic maintains two patient files—one for male clients and one for female clients. Each record contains the name of a patient and current total weight loss in pounds. Each file is in descending weight loss order.

Female Clients:

21 Barbara_Jones
82 Sue_Todd
275 Mary_Donald
276 Cathy_Conner
300 Debbie_Baker
400 Kim_Tanner

Male Clients:

56 Bob_Johnson
100 Dan_Smith
200 Mike_Tay

// Pseudocode Project8
// Start
// Declarations
// InputFile inFile1;
// InputFile inFile2;
// OutputFile outFile1;
// num mClientNumber, fClientNumber
// string mClientName, fClientName
// bool atLeastOneFileNotAtEnd = true
// bool inFile1Written = false
// bool inFile2Written = false
// output "File merge processing starting"
// open inFile1 "MaleClients.rtf"
// open inFile2 "FemaleClients.rtf"
// open outFile1 "MergedClients.rtf"
// read mClientNumber and mClientName from inFile1
// read fClientNumber and fClientName from inFile2
// while ( atLeastOneFileNotAtEnd == true )
// if (inFile1 is EOF)
// if (inFile2Written == false)
// output fClientNumber, fClientName to Outputfile
// inFile2Written = true
// endif
// else if (inFile2 is EOF)
// if (inFile1Written == false)
// output mClientNumber, mClientName to Outputfile
// inFile1Written = true
// endif
// else if (mClientNumber < fClientNumber)
// output mClientNumber, mClientName to Outputfile
// inFile1Written = true
// else
// output fClientNumber, fClientName to Outputfile
// inFile2Written = true
// endif
////// if ((inFile1 not EOF) AND (inFile1Written == true))
// read mClientNumber and mClientName from inFile1
// inFile1Written = false
// endif
// if ((inFile2 not EOF) AND (inFile2Written == true))
// read fClientNumber and fClientName from inFile2
// inFile2Written = false
// endif
// if ((inFile is EOF) AND (inFile2 is EOF))
// atLeastOneFileNotAtEnd = false
// endif
// endwhile
// close inFile1
// close inFile2
// close outFile1
// output "Merging Complete"
// Stop

Explanation / Answer

#include<iostream>

#include<fstream>

using namespace std;

int main()

{

//Declarations

ifstream inFile1, inFile2;

ofstream outFile1;

int mClientNumber, fClientNumber;

char mClientName[100], fClientName[100];

bool atLeastOneFileNotAtEnd = true;

bool inFile1Written = false;

bool inFile2Written = false;

cout<<"File merge processing starting ";

inFile1.open("MaleClients.rtf");

inFile2.open("FemaleClients.rtf");

outFile1.open("MergedClients.rtf");

inFile1>>mClientNumber;

inFile1>>mClientName;

inFile2>>fClientNumber;

inFile2>>fClientName;

cout<<mClientNumber<<" "<<fClientNumber;

while( atLeastOneFileNotAtEnd == true)

{

if(!inFile1.eof())

{

if(inFile2Written == false)

{

outFile1<<fClientNumber;

outFile1<<" ";

outFile1<<fClientName;

outFile1<<" ";

inFile2Written = true;

}

else if(!inFile2.eof())

{

if(inFile1Written == false)

{

outFile1<<mClientNumber;

outFile1<<" ";

outFile1<<mClientName;

outFile1<<" ";

inFile1Written = true;

}

else if(mClientNumber < fClientNumber)

{

outFile1<<mClientNumber;

outFile1<<" ";

outFile1<<mClientName;

outFile1<<" ";

inFile1Written = true;

}

else

{

outFile1<<fClientNumber;

outFile1<<" ";

outFile1<<fClientName;

outFile1<<" ";

inFile2Written = true;

}

}

}

if(inFile1.eof() && (inFile1Written == true))

{

inFile1>>mClientNumber;

inFile1>>mClientName;

inFile1Written = false;

cout<<mClientNumber<<" "<<fClientNumber;

}

if(inFile2.eof() && (inFile2Written == true))

{

inFile2>>fClientNumber;

inFile2>>fClientName;

inFile2Written = false;

cout<<mClientNumber<<" "<<fClientNumber;

}

if(!inFile1.eof() && !inFile2.eof())

{

atLeastOneFileNotAtEnd = false;

}

}

inFile1.close();

inFile2.close();

outFile1.close();

cout<<"Merging complete";

return 0;

}