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

==========================================================================

#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f
#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f
#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f
#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f
#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f
#include <stdio.h> float calculate_percent(float score, float max_score); double getAvg (float score0, float score1, float score2); char getGradeLetter (f

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site