C++ program to calculate the grade of a student
Here you will learn and get code for finding the grade of a student based on marks obtained in C++. There are two programs you'll go through:
- Find the grade of the student based on the marks obtained in five subjects.
- Find the grade of a student based on the marks obtained in all subjects using a user-defined function. The user can enter the number of subjects here.
The grade must be calculated based on the following pattern:
| Average Mark Range | Grade |
|---|---|
| 91-100 | A1 |
| 81-90 | A2 |
| 71-80 | B1 |
| 61-70 | B2 |
| 51-60 | C1 |
| 41-50 | C2 |
| 33-40 | D |
| 21-32 | E1 |
| 0-20 | E2 |
Calculate the Grade of the Student in C++
To calculate the grade of a student on the basis of total marks in C++ programming, you have to ask the user to enter marks obtained in five subjects. To calculate the average mark, add the marks from all five subjects and divide them by five. And based on this average mark, find the grade as per the table given above:
#include<iostream> using namespace std; int main() { int i; float mark, sum=0, avg; cout<<"Enter Marks obtained in 5 Subjects: "; for(i=0; i<5; i++) { cin>>mark; sum = sum+mark; } avg = sum/5; cout<<"\nGrade = "; if(avg>=91 && avg<=100) cout<<"A1"; else if(avg>=81 && avg<91) cout<<"A2"; else if(avg>=71 && avg<81) cout<<"B1"; else if(avg>=61 && avg<71) cout<<"B2"; else if(avg>=51 && avg<61) cout<<"C1"; else if(avg>=41 && avg<51) cout<<"C2"; else if(avg>=33 && avg<41) cout<<"D"; else if(avg>=21 && avg<33) cout<<"E1"; else if(avg>=0 && avg<21) cout<<"E2"; else cout<<"Invalid!"; cout<<endl; return 0; }
This program was built and runs under the Code::Blocks IDE. Here is its sample run:
Now supply the marks obtained in 5 subjects, say 97, 87, 89, 90, and 93, and press the ENTER key to see the grade based on these marks as shown in the output given below:
Using a user-defined Function
This program does the same job as the previous one, which is to find and print the grade of the student. But an extra feature was added to it. The extra feature is that the user can enter the subject's number. For example, if he/she enters 3 as the number of subjects, the program will then ask for the marks obtained in those three subjects.
This program calculates the grade of a student using a user-defined function, findGrade(). This function takes two arguments: the first one is an array that holds all the marks entered by the user, and the second is size (that is, the number of subjects). It returns a string-type value. To learn more about function in C++, refer to its separate tutorial.
#include<iostream> using namespace std; const char* findGrade(float [], int); int main() { int i, n; float mark[10]; cout<<"Enter Number of Subjects (max. 10): "; cin>>n; cout<<"Enter Marks obtained in "<<n<<" Subjects: "; for(i=0; i<n; i++) cin>>mark[i]; cout<<"\nGrade = "<<findGrade(mark, n); cout<<endl; return 0; } const char* findGrade(float mark[], int n) { int i; float sum=0, avg; for(i=0; i<n; i++) sum = sum+mark[i]; avg = sum/n; if(avg>=91 && avg<=100) return "A1"; else if(avg>=81 && avg<91) return "A2"; else if(avg>=71 && avg<81) return "B1"; else if(avg>=61 && avg<71) return "B2"; else if(avg>=51 && avg<61) return "C1"; else if(avg>=41 && avg<51) return "C2"; else if(avg>=33 && avg<41) return "D"; else if(avg>=21 && avg<33) return "E1"; else if(avg>=0 && avg<21) return "E2"; else return "Invalid!"; }
Below is the initial snapshot of the sample run:
Now enter the number of subjects, say 3, and then enter the marks obtained in those three subjects to find the grade as shown in the output given below:
Same Program in Other Languages
« Previous Program Next Program »
Liked this post? Share it!