posted by Andre on .
// The two senior class homerooms at Littleville High School
// are having a fundraising drive for the prom. Each time a student
// solicits a contribution, a record is created with the
// student's name and the value. Two files have been created for Homeroom A and Homeroom B.
// Each file is sorted in contribution value order from highest to lowest.
// This program merges the two files.
string bothFilesDone = "N"
string HIGHVALUE = "XXXXX"
while bothFilesDone = "N"
open roomAFile "roomAFile.dat"
open roomBFile "roomBFile.dat"
open mergedFile "mergedFile.dat"
input roomAName, roomAValue from roomAFile
if eof then
roomAValue = HIGHVALUE
input roomBName, roomBValue from roomBFile
if eof then
roomBValue = roomAValue
if roomAValue = HIGHVALUE AND roomAValue = HIGHVALUE then
bothFilesDone = "Y"
if roomAName > roomBName then
output roomBName, roomBValue to mergedFile
output roomAName, roomAValue to mergedFile
gee, how about entering your code in an IDE and
(a) fix any syntax errors
(b) step through the execution if your output is wrong.
checkBoth() has a glaring logic error.
detailLoop() need to consider what happens if you come to the end of one file before its room?Name is greater than that of the other. Avoiding an infinite loop would be a good idea.