Finding the bugs.
// Each time a salesperson sells a car at the Pardeeville New and Used Auto Dealership,
// a record is created containing the salesperson’s name and the amount of the sale.
// Sales of new and used cars are kept in separate files because several reports
// are created for one type of sale or the other. However, management has requested
// a merged file so that all of a salesperson’s sales, whether the vehicle was new or used,
// are displayed together. The following code is intended to merge the files
// that have already been sorted by salesperson ID number.
start
// Declarations
string newSalesperson
num newAmount
string usedSalesperson
num usedAmount
string bothAtEof = "N"
string HIGH_NAME = 9999
InputFile newSales
InputFile usedSales
OutputFile allsales
getReady()
while bothAtEof = "Y"
detailLoop()
endwhile
finish()
stop
getReady()
open newSales "NewSales.dat"
open usedSales "UsedSales.dat"
open allSales "AllSales.dat"
input newSalesperson, newAmount from newSales
if eof then
newSalesperson = HIGH_NAME
endif
input usedSalesperson, usedAmount from usedSales
if eof then
usedSalesperson = newSalesperson
endif
if newSalesperson = HIGH_NAME AND usedSalesperson = HIGH_NAME then
bothAtEof = "Y"
endif
return
detailLoop()
if newSalesPerson > usedSalesperson then
output usedSalesperson, usedAmount to allSales
input usedSalesperson, usedAmount from usedSales
if eof then
usedSalesperson = HIGHNAME
endif
else
output newSalesperson, newAmount to allSales
input usedSalesperson, usedAmount from usedSales
if eof then
newSalesperson = HIGH_NAME
endif
endif
if newSalesperson = HIGH_NAME AND usedSalesperson = HIGH_NAME then
bothAtEof = "Y"
endif
return
finish()
close newSales
close usedSales
close allsales
return
If you can explain this to me that I can understand how to do it?
2 answers
In Else Part you have used wrong logic
it should be like below
else
output newSalesperson, newAmount to allSales
input newSalesperson, newAmount from newSales