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

The Cupid matchmaking Service maintains two files - one for the male clients and

ID: 3565164 • Letter: T

Question

The Cupid matchmaking Service maintains two files -
one for the male clients and another for female clients.
Each file contains a client ID, last name, first name, and address.
Each file is in client ID order.
se the provide pseudocode to write a C++ application that
merges the two files into one file containing a list of all clients,
maintaining ID member order.

Male Clients.File

56 Bob_Johnson
100 Dan_Smith
200 Mike_Tay


Female Clients.File

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

// 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;
// Pseudocode Project8
int main(){
// Start
//     Declarations
//         InputFile inFile1;

ifstream inFile1;
//         InputFile inFile2;
ifstream inFile2;
//         OutputFile outFile1;
ofstream outFile1;
//         num mClientNumber, fClientNumber
int mClientNumber, fClientNumber;
//         string mClientName, fClientName
string mClientName, fClientName;
//         bool atLeastOneFileNotAtEnd = true
bool atLeastOneFileNotAtEnd = true;
//         bool inFile1Written = false
bool inFile1Written = false;
//         bool inFile2Written = false
bool inFile2Written = false;
//     output "File merge processing starting"
cout <<"File merge processing starting" << endl;
//     open inFile1 "MaleClients.rtf"
inFile1.open("MaleClients.rtf");
//     open inFile2 "FemaleClients.rtf"
inFile2.open("FemaleClients.rtf");
//     open outFile1 "MergedClients.rtf"
outFile1.open("MergedClients.rtf");
//     read mClientNumber and mClientName from inFile1
inFile1 >> mClientNumber >> mClientName;
//     read fClientNumber and fClientName from inFile2
inFile2 >> fClientNumber >> fClientName;
//     while ( atLeastOneFileNotAtEnd == true )
while( atLeastOneFileNotAtEnd == true ) {
//       if (inFile1 is EOF)
if(inFile1.eof())
//         if (inFile2Written == false)
if(inFile2Written == false){
//           output fClientNumber, fClientName to Outputfile
outFile1 << fClientNumber << fClientName << endl;
//           inFile2Written = true
inFile2Written = true;
//         endif
}
//       else if (inFile2 is EOF)
else if (inFile2.eof())
//         if (inFile1Written == false)
if (inFile1Written == false){
//           output mClientNumber, mClientName to Outputfile
outFile1 << mClientNumber << mClientName << endl;
//           inFile1Written = true
inFile1Written = true;
//         endif
}
//       else if (mClientNumber < fClientNumber)
else if(mClientNumber < fClientNumber){
//         output mClientNumber, mClientName to Outputfile
outFile1 << mClientNumber << mClientName << endl;
//         inFile1Written = true
inFile1Written = true;
}
//       else
else{
//         output fClientNumber, fClientName to Outputfile
outFile1 << fClientNumber << fClientName << endl;
//         inFile2Written = true
inFile2Written = true;
//       endif
}
//
//
//       if ((inFile1 not EOF) AND (inFile1Written == true))

if(inFile1.eof() && (inFile1Written == true)){
//         read mClientNumber and mClientName from inFile1
inFile1 >> mClientNumber >> mClientName;
//         inFile1Written = false
inFile1Written = false;
//       endif
}
//       if ((inFile2 not EOF) AND (inFile2Written == true))
if(inFile2.eof() && (inFile2Written == true)){
//         read fClientNumber and fClientName from inFile2
inFile2 >> fClientNumber >> fClientName;
//         inFile2Written = false
inFile2Written = false;
//       endif
}
//       if ((inFile is EOF) AND (inFile2 is EOF))
if(inFile1.eof() && inFile2.eof()) {
//         atLeastOneFileNotAtEnd = false
atLeastOneFileNotAtEnd = false;
//       endif
}
//     endwhile
}
//     close inFile1
inFile1.close();
//     close inFile2
inFile2.close();
//     close outFile1
outFile1.close();
//     output "Merging Complete"
cout <<"Merging Complete" << endl;
// Stop
return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote