CISC 1115 Assignment 2 Spring 2020 Due Feb. 24
Write a Java program, including comments, to
do the following:
The program will compute statistics for
how salespeople did. The program will
read in the id number of a salesperson, the number of customers who bought the
product, the number of customers who did not buy, and the quota (this is the
number of customers who must buy from this salesperson). The program will compute various things about
the salesperson, and it will print all of this out. Then it will repeat the process for a new
salesperson, over and over again, until the entire set of data has been taken
Here are the details:
1. The program will read in the id number of a salesperson (see step 6 below). The program will read in (and print) the
number of customers who bought the product, the number who did not buy, and the
quota. For example, the program could read in the following:
5 30 [idno 1234,
20 bought 5 didn't quota is 30]
2. The program will compute and print the total
number of customers (the number who bought plus the number who didn't). It will also compute how many more the
salesperson needs to get to the quota
(maybe 0), or how many the salesperson is above the quota.
Neatly print all this
information. If the salesperson reached
or is over the quota, print a message of congratulations. Otherwise, print a message saying the
salesperson must try harder.
3. The program will compute the salesperson's sales percentage, which is a decimal
value between 0 and 1. The sales
percentage is defined to be the number of customers who bought divided by the
total number of customers. (You can
assume the salesperson always has at least one customer--see optional 2.)
For the data values shown for idno 1234 above, the total is 25 and the
sales percentage is
20 / 25 = 0.800.
Print this value as
shown, with exactly 3 decimal
4. The program should also assign the
salesperson a bonus. The bonus is the number of customers who
bought times 2, minus the number of customers who did not buy. For example, idno 1234 got a bonus of 35 (20
bought x 2 - 5 who didn't buy).
However, the bonus cannot be negative.
For example, if 5 bought and 20 didn't, the bonus would be 0. (Be sure to test this in your program.)
The program should print the bonus assigned
to the salesperson.
5. The program should determine if the
salesperson had more customers who bought than did not, the same number of
each, or more who did not buy. It should
print an appropriate message in each
of these three cases.
6. Then the program should skip a few lines of output and repeat the entire series of steps
for the next salesperson, and so on, until the last salesperson has been
processed. (You must decide how to
recognize that the last salesperson has been processed. Explain in a comment)
7. At that point, print the total number of salespersons (you must keep track of this as the
program executes), then stop.
DATA: Be sure to read in data for at least 12 salespersons. Include a
salesperson with no one who bought and a salesperson with everyone who bought
(but still below the quota). Have some
salespersons who don't make the quota, some who do exactly, and some who are
over the quota. Have some with a
positive bonus and some with a 0 bonus.
(Have at least two of each type described.) Be
sure to make up a good set of data covering all cases.
Here is a complete set of output for two
(Use these 2 plus at
least 12 more)
id 1234 id 7890
10 bought 15 didn't 21
bought 14 didn't
quota 22 quota 21
total customers 25 total customers 35
12 below quota try harder made
bonus is 15 bonus is 28
more didn't buy more
bought than didn’t
sales pct. is
0.400 sales pct. is 0.600
OPTIONALS (If you do an
optional, be sure to include comments):
1. If a salesperson has a negative value for any
amount, print an error message, skip the rest of the processing for that
person, and go on to the next salesperson.
Keep track of how many invalid sets of data were entered and print this
out at the end.
2. Add one or two salespersons who had 0
customers--no one bought, no one didn't buy.
(Make sure that you do not divide by 0 if the salesperson had 0
customers.) In this case, print a
special message and go on to the next salesperson.
3. Keep track of the salesperson with the best
sales percentage, and of the salesperson with the highest bonus. (These do not have to be the same--to test, make
sure they are different.) Print
these out at the end of the processing.