Chapter 7: “File Handling and Applications (Part 2)” Examine the pseudocode that
ID: 3912613 • Letter: C
Question
Chapter 7: “File Handling and Applications (Part 2)”
Examine the pseudocode that follows the introductory comments, then find and correct all the bugs. Correct the code in this file, and be sure to clearly highlight the corrections.
1. Debugging
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 each sale type. However, management has requested a merged file so that all of the sales, whether the vehicle was new or used, are displayed together for each salesperson. 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 = "ZZZZZ"
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
usedSalesperson = HIGH_NAME
endif
input usedSalesperson, usedAmount from usedSales
if eof then
usedsalesPerson = HIGH_NAME
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 newSalesperson, newAmount from newSales
if eof then
usedSalesperson = HIGH_NAME
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
2. Debugging
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.
start
Declarations
string roomAName
num roomAValue
string roomBName
num roomBValue
string bothFilesDone = "N"
num HIGH_VALUE = 999999
InputFile roomAFile
InputFile roomBFile
InputFile mergedFile
getReady()
while bothFilesDone = "N"
detailLoop()
endwhile
allDone()
stop
getReady()
open roomAFile "roomAFile.dat"
open roomBFile "roomBFile.dat"
open mergedFile "mergedFile.dat"
readA()
readB()
checkBoth()
return
readA()
input roomAName, roomAValue from roomAFile
if eof then
roomAValue = HIGH_VALUE
endif
return
readB()
input roomBName, roomBValue from roomBFile
if eof then
roomBValue = HIGH_VALUE
endif
return
checkBoth()
if roomAValue = HIGH_VALUE AND roomBValue = HIGH_VALUE then
bothFilesDone = "Y"
endif
return
detailLoop()
if roomAValue > roomBValue then
output roomBName, roomBValue to mergedFile
readA()
else
output roomAName, roomAValue to mergedFile
readB()
endif
return
allDone()
close roomAFile
close roomBFile
close mergeFile
return
Explanation / Answer
Chapter--7:--
1-Debugging:-
start
Declarations
string newSalesperson
num newAmount
string usedSalesperson
num usedAmount
string bothAtEof = "N"
string HIGH_NAME = "ZZZZZ"
InputFile newSales
InputFile usedSales
OutputFile allsales
getReady()
while bothAtEof = "N"
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 = HIGH_NAME
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 = HIGH_NAME
endif
else
output newSalesperson, newAmount to allSales
input newSalesperson, newAmount from newSales
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
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.