You are the official score keeper for the "C" Bowling Association (CBA). You should write a program that will:
? a. Input date of game (three integers yyyy/mm/dd).
? b. Input bowler's first and last name initial (two separate characters) and three scores (three integer of 0-300 ranges).
? c. Calculate average for that bowler.? d. Assign stars to that bowler based on the following scale:
o Avg >= 200 4 stars
o Avg 170 to 199 3 stars
o Avg 125 to 169 2 stars
o Avg 100 to 124 1 star
o Avg < 100 no star
? e. Output the bowlers name, avg, and number of stars earned.
? f. Your program must be able to process any number of bowlers.
? g. Discover which bowler had the highest average and print out his/her name, average and
number of stars. (Assume there is only one bowler who had the highest average)? h. Calculate and output the average of all the bowlers and the date of game.
Implement all functionalities in your main() function and name this file as b.1.c.
Example:
This is the "C" bowling association
Please input the game date(yyyy/mm/dd):2012/10/14
Please input the bowler's first and last initial:bo
Please input the bowler's score:101 102 103
Bowler b. o. has average 102 and 1 star(s)
Please input the bowler's first and last initial:mr
Please input the bowler's score:202 204 203
Bowler m. r. has average 203 and 4 star(s)
Please input the bowler's first and last initial:^D
The best bowler on 2012/10/14 is:
Bowler m. r. has average 203 and 4 star(s)
The average of all bowlers in this game is 152
Modify b.1.c to make a file with name b.2.c. In b.2.c, you need to make following changes:
? i. Instead of output the number of stars in e. and g., your program must print the actual appropriate sequence of stars (like "****"), not just a number.
? j. Step b., c. and e. in previous requirements must be written as separate functions. (e.x. int average(int, int, int); int assignStar(int); void output(char, char, int, int);)
? k. Your program should be able to process multiple games in different dates. And it should discover the bowler who had the highest average over these games and print out his/her name, average and assigned sequence of stars. Your program should also print the date when the best bowler had the highest score.
Example:This is the "C" bowling association
Please input the game date (yyyy/mm/dd):2012/10/13
Please input the bowler's first and last initial:mr
Please input the bowler's score:245 234 248
Bowler m. r. has average 242 and ****
Please input the bowler's first and last initial:bo
Please input the bowler's score:300 299 289
Bowler b. o. has average 296 and ****
Please input the bowler's first and last initial:^D
The best bowler on 2012/10/13 is:
Bowler b. o. has average 296 and ****
The average of all bowlers in this game is 269
Please input the game date(yyyy/mm/dd):2012/10/14
Please input the bowler's first and last initial:bo
Please input the bowler's score:101 102 103
Bowler b. o. has average 102 and *
Please input the bowler's first and last initial:mr
Please input the bowler's score:202 204 203
Bowler m. r. has average 203 and ****
Please input the bowler's first and last initial:^D
The best bowler on 2012/10/14 is:
Bowler m. r. has average 203 and ****
The average of all bowlers in this game is 152
Please input the game date(yyyy/mm/dd):^D
The highest score was on 2012/10/13
The best bowler in all game is:
Bowler b. o. has average 296 and ****
Hint and requirement:
? Use scanf("%d/%d/%d", &y, &m, &d); to read yyyy/mm/dd. Use scanf("%*c%c%c", &fi, &li); to read first and last initials after reading date with scanf(); If there is no other scanf() used before the one you use to read first/last initials, you can just use the normal
scanf("%c%c", &fi, &li);
? No array is allowed to use in this program.
? Assume input is reasonable and without error.For b.1.c:
- Input / output date incorrectly or missing: - 3 pts
- Input / output first/last initials and scores/average incorrectly: - 3 pts/each
- Assigned number of stars incorrectly: - 3 pts
- Couldn't process multiple input: -5 pts
- Best bowler information incorrect: - 5 pts
- Average over all bowlers incorrect: - 4 pts
- Use array: - 10 pts
For b.2.c:
- Sequence of stars incorrect: -3 pts
- Missing functions or didn't implement b, c, d as separate functions: - 5 pts/each
- Couldn't process multiple games: - 5 pts
- Information of best bowler in all games incorrect: - 3 pts
- Date of highest score incorrect: - 3 pts
- If any of previous requirements in b.1.c is violated, points will be taken off accordingly