include float calculatepercentfloat score float maxscore dou
#include <stdio.h>
float calculate_percent(float score, float max_score);
double getAvg (float score0, float score1, float score2);
char getGradeLetter (float score);
void print_line(char line, int times);
int main()
{
print_line (\'*\',20);
int choice=0;
double average=0;
char name [20];
int scores [3];
char grade;
do
{
printf(\"1. Enter username \ 2. Enter exam scores \ 3. Display average exam scores \ 4. Display summary \ 5. Quit\");
printf(\"\ Enter choice:\");
scanf(\"%i\", &choice);
switch (choice)
{
case 1:
printf(\"Enter name:\");
scanf(\"%s\", name);
break;
case 2:
for(int i = 0; i < 3; i++)
{
printf(\"Enter score of exam #%i:\", i+1);
scanf(\"%d\", &scores[i]);
}//end of for loop
break;
case 3:
average = getAvg (scores[0], scores[1], scores[2]);
if(average != 0)
{
printf(\"Your average score is %.2f%%\ \", average);
}
else
{
printf(\"Error, please use menu to enter exam scores first...\ \");
}
break;
case 4:
grade = getGradeLetter (average);
if (average != 0)
{
printf(\"Hello %s, your exam scores of %i, %i and %i has an average of %.2f%% with a letter grade %c\ \ \", name, scores[0], scores[1], scores[2], average, grade );
}
else
{
printf(\"Error, please use menu to enter name and/or scores first...\ \ \");
}
break;
case 5:
printf(\"Goodbye...\ \ \");
return 0;
break;
default:
printf(\"Invalid choice...\ \ \");
}//end of swithc statement
}while(choice != 5);
}//end of main
float calculate_percent(float score, float max_score)
{
float percentage = (score/max_score)*100;
return percentage;
}
double getAvg (float score0, float score1, float score2)
{
float average = (score0 + score1 +score2)/3.00;
return average;
}
char getGradeLetter (float score)
{
char grade = \'F\';
if (score >= 90)
{
grade = \'A\';
}
else if(score >= 80)
{
grade = \'B\';
}
else if(score >= 70)
{
grade = \'C\';
}
else if (score >= 60)
{
grade = \'D\';
}
else
{
grade = \'F\';
}
return grade;
}
void print_line(char line, int times)
{
printf(\"\ \");
for(int i=0; i < times; i++)
printf(\"%c\",line);
printf(\"\ \");
}
Solution
Find the solution below:
===========================================================================
#include<stdio.h>
#include<stdlib.h>
int scores_array[100];
static int arrayCount=0;
static int nameCount=0;
int numofExams;
char userName[10]=\"\\0\";
float getAvg(int *ptr, int size);
char getGradeLetter (float score);
void main() {
int choice;
LOOP:
do {
printf(\"***************************************\");
printf(
\"1. Enter username \ 2. Enter exam scores \ 3. Display average exam scores \ 4. Display summary \ 5. Quit\");
printf(\"\ Enter choice:\");
fflush(stdout);
scanf(\"%i\", &choice);
switch (choice) {
case 1:
printf(\"Enter name:\");
fflush(stdout);
scanf(\"%s\",userName);
nameCount++;
break;
SIZEGO:
case 2:
printf(\"enter the number of exams: \");
fflush(stdout);
scanf(\"%d\",&numofExams);
for (int i = 0; i < numofExams; i++) {
if(i==100)
{
printf(\"array size is exceeded\ \");
goto SIZEGO;
}
printf(\"Enter score of exam #%i:\", i + 1);
scores_array[i]=getExamScoreFromUser();
arrayCount++;
} //end of for loop
break;
case 3:
if(arrayCount>0)
{
float average=getAvg(scores_array,numofExams);
printf(\"Average of Scores is: %f\ \",average);
}
else
{
printf(\"please use the menu to enter the scores first\ \");
goto LOOP;
}
break;
case 4:
if(arrayCount>0 && nameCount>0)
{
printf(\"%s,\",userName);
printf(\"your exam scores were: \");
for(int i=0;i<numofExams;i++)
printf(\"%d,\",scores_array[i]);
float avg=getAvg(scores_array,numofExams);
printf(\" Average is: %f, \",avg);
char grade = getGradeLetter(avg);
printf(\"with letter grade: %c\ \",grade);
}
else
{
printf(\"please use the menu to enter the scores and name first\ \");
goto LOOP;
}
break;
case 5:
printf(\"you have choosen quit...\");
exit(0);
break;
default:
printf(\"Invalid choice...\ \ \");
} //end of swithc statement
} while (choice != 5);
}
float getAvg(int *ptr, int size) {
float sum = 0;
for (int i = 0; i < size; i++)
sum += ptr[i];
return (float) (sum / size);
}
int getExamScoreFromUser() {
int score;
printf(\"\ enter the exam score\");
fflush(stdout);
scanf(\"%d\", &score);
return score;
}
char getGradeLetter (float score)
{
char grade = \'F\';
if (score >= 90)
{
grade = \'A\';
}
else if(score >= 80)
{
grade = \'B\';
}
else if(score >= 70)
{
grade = \'C\';
}
else if (score >= 60)
{
grade = \'D\';
}
else
{
grade = \'F\';
}
return grade;
}
===========================================================================
INPUT / OUTPUT:
***************************************
1. Enter username
2. Enter exam scores
3. Display average exam scores
4. Display summary
5. Quit
Enter choice:1
Enter name:xyz
***************************************
1. Enter username
2. Enter exam scores
3. Display average exam scores
4. Display summary
5. Quit
Enter choice:2
enter the number of exams: 5
Enter score of exam #1:
enter the exam score15
Enter score of exam #2:
enter the exam score25
Enter score of exam #3:
enter the exam score64
Enter score of exam #4:
enter the exam score95
Enter score of exam #5:
enter the exam score53
***************************************
1. Enter username
2. Enter exam scores
3. Display average exam scores
4. Display summary
5. Quit
Enter choice:3
Average of Scores is: 50.400002
***************************************
1. Enter username
2. Enter exam scores
3. Display average exam scores
4. Display summary
5. Quit
Enter choice:4
xyz,your exam scores were: 15,25,64,95,53, Average is: 50.400002, with letter grade: F
***************************************
1. Enter username
2. Enter exam scores
3. Display average exam scores
4. Display summary
5. Quit
Enter choice:5
you have choosen quit...
==========================================================================





