Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I know this is a really long problem, but all the answers i\'ve seen on here are

ID: 3532469 • Letter: I

Question

I know this is a really long problem, but all the answers i've seen on here are not actually pertinent to the program required. so i figured i'd post it, to! *note C language, not c++

"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.

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.

Implement all functionalities in your main() function and name this file as c.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" & there's a part 2!

Modify c.1.c to create a new file with name c.2.c. In c.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 c., d. 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

Explanation / Answer

#include<stdio.h>

int average(int a, int b, int c)
{
return (a+b+c)/3;
}
int assignStar(int k)
{
if(k>=200) return 4;
else if(k>=170 && k<=199) return 3;
else if(k>=125 && k<=169) return 2;
else if(k>=100 && k<=124) return 1;
return 0;
}

void output(char a, char b, int c, int d)
{
printf("Bowler %c. %c. has average %d and %d star(s)", a,b,c,d);
}

int main()
{
int y,m,d;
char f,l;
int max = 0;
char fi,li;
int count = 0;
int sum = 0;
int first, last , middle;
printf(" This is the "C" bowling association");
printf(" Please input the game date(yyyy/mm/dd):");
scanf("%d/%d/%d", &y, &m, &d);
while(true)
{
printf(" Please input the bowler's first and last initial: ");
if(scanf("%c%c", &fi, &li) !=2) return 0;
printf(" Please input the bowler's score: ");
scanf( " %d %d %d",&first,&last,&middle);
sum = sum + first + last + middle;
if(average(first,last,middle) > max)
{
max = average(first,last,middle); f = fi; l = li;
}
output(fi,li,average(first,last,middle),assignStar(average(first,last,middle)));
}

printf(" The best bowler on %d/%d/%d is ", y,m,d);
output(f,l,max,assignStar(max));
return 0;
}