Write a complete program to do the following: The main program calls a method to read in (from an input file) a set of people's three-digit ID numbers and their donations to a charity (hint: use parallel arays). Then the main program calls a method to sort the ID numbers into numerical order, being sure to carry along the corresponding donations. The main program then calls a method to print the sorted lists in tabular form, giving both ID numbers and donations. Then the main program calls another method to sort the donation amounts into descending order, camying along the coresponding ID numbers. It then, once again, prints the sorted lists, giving both ID numbers and donations. Finally it prints some statistics (see below). Here are the details: The main program calls a method to read in the data from a file. (This method will declare and create the input file variable. Don't forget to throw exceptions.) The data consists of se Fsets of lines of data, each of which contains a person's three-digit integer ID number and a donation in dollars and cents. (eg. 456 250.00 or 123 175.34). The file is read until end-af-file is reached. The method returns how many sets of data were read in. The main program calls

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Write a complete program to do the following: The main program calls a method to read in
(from an input file) a set of people's three-digit ID numbers and their donations to a charity
(hint: use parallel arrays). Then the main program calls a method to sort the ID numbers into
numerical order, being sure to carry along the corresponding donations. The main program
then calls a method to print the sorted lists in tabular form, giving both ID numbers and
donations. Then the main program calls another method to sort the donation amounts into
descending order, carrying along the corresponding ID numbers. It then, once again, prints
the sorted lists, giving both ID numbers and donations. Finally it prints some statistics (see
below). Here are the details:
The main program calls a method to read in the data from a file. (This method will declare
and create the input file variable. Don't forget to throw exceptions.) The data consists of sets
of lines of data, each of which contains a person's three-digit integer ID number and a
donation in dollars and cents. (e.g., 456 250.00 or 123 175.34). The file is read until end-of-file
is reached. The method returns how many sets of data were read in. The main program calls
the returm value donorCount. The main program calls these arrays idvumbers and donations.
A separate printing method prints the original set of data in the form of a neat table. When
the arrays print, there should be an overall heading, plus headings for the columns of ID
numbers and donations.
Then the main program sends the array of ID numbers, the array of donations, and the size
donorCount to a sorting method. This method sorts the ID numbers into numerical order
using a selection sort. Be sure to maintain the match-up of ID numbers and donations. For
example, 456 should always be associated with 250.00, no matter where 456 moves in
numerical order; similarly, 123 should stay with 175.34. When the sorting method finishes
and returns control to the main program, the main program calls the printing method to once
again print the two arrays.
Next, the main program sends the same three parameters to the second sorting method,
which sorts the donstions into descending numerical order (using a bubble sort), being sure
to maintain the linkup of ID numbers and donations. When this sorting method finishes and
returns control to the main program, the main program, once again, calls the printing method
to print the two arrays with appropriate headings. Your arrays should have room for up to 50
entries. To test the program, have a set of data with at least 15 to 20 values in each array.
Make sure that your original order is not close to numerical order for either array and that the
two numerical orders are not close to each other.
(NOTE: Why can't you use the same sorting method for the two sorts???)
Finally, print statistics as follows, based on the array sorted by donation:
• the id and donation amount of the highest donor (this is easy once the array is
sorted!);
• the median donation value, which is the middle value for an odd number af donors
(e.g. for 5 donors it would be the donation value of the third) or the average of the
two middle donors (e.g. for 6 donors it would be the average of the 3" and 4"). Note
that your program doesn't know the number of donors so check condition and
perform operation accordingly.
All donation values should be printed with precision of two decimal places. Columns should
be neatly aligned, so format your output carefully.
Transcribed Image Text:Write a complete program to do the following: The main program calls a method to read in (from an input file) a set of people's three-digit ID numbers and their donations to a charity (hint: use parallel arrays). Then the main program calls a method to sort the ID numbers into numerical order, being sure to carry along the corresponding donations. The main program then calls a method to print the sorted lists in tabular form, giving both ID numbers and donations. Then the main program calls another method to sort the donation amounts into descending order, carrying along the corresponding ID numbers. It then, once again, prints the sorted lists, giving both ID numbers and donations. Finally it prints some statistics (see below). Here are the details: The main program calls a method to read in the data from a file. (This method will declare and create the input file variable. Don't forget to throw exceptions.) The data consists of sets of lines of data, each of which contains a person's three-digit integer ID number and a donation in dollars and cents. (e.g., 456 250.00 or 123 175.34). The file is read until end-of-file is reached. The method returns how many sets of data were read in. The main program calls the returm value donorCount. The main program calls these arrays idvumbers and donations. A separate printing method prints the original set of data in the form of a neat table. When the arrays print, there should be an overall heading, plus headings for the columns of ID numbers and donations. Then the main program sends the array of ID numbers, the array of donations, and the size donorCount to a sorting method. This method sorts the ID numbers into numerical order using a selection sort. Be sure to maintain the match-up of ID numbers and donations. For example, 456 should always be associated with 250.00, no matter where 456 moves in numerical order; similarly, 123 should stay with 175.34. When the sorting method finishes and returns control to the main program, the main program calls the printing method to once again print the two arrays. Next, the main program sends the same three parameters to the second sorting method, which sorts the donstions into descending numerical order (using a bubble sort), being sure to maintain the linkup of ID numbers and donations. When this sorting method finishes and returns control to the main program, the main program, once again, calls the printing method to print the two arrays with appropriate headings. Your arrays should have room for up to 50 entries. To test the program, have a set of data with at least 15 to 20 values in each array. Make sure that your original order is not close to numerical order for either array and that the two numerical orders are not close to each other. (NOTE: Why can't you use the same sorting method for the two sorts???) Finally, print statistics as follows, based on the array sorted by donation: • the id and donation amount of the highest donor (this is easy once the array is sorted!); • the median donation value, which is the middle value for an odd number af donors (e.g. for 5 donors it would be the donation value of the third) or the average of the two middle donors (e.g. for 6 donors it would be the average of the 3" and 4"). Note that your program doesn't know the number of donors so check condition and perform operation accordingly. All donation values should be printed with precision of two decimal places. Columns should be neatly aligned, so format your output carefully.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education