Skip to main content

C Program to Process Marks of Student and Display Grade

The C program to process marks of student and display grade checks for multiple conditions on the input marks and then decides the grade of a student.
This program is written using Dev C++ compiler version 4.9.9.2 installed on Windows 7 64-bit computer. You can use any standard C compiler and this program should work.
To help you understand the program we have the following sections – problem definition, a flowchart of the program, the source code for the program and a verified output. When you practice the program by yourself, make sure that you compare the output value from this article.

Problem Definition

This program is a simple C program that makes use of structures. The program when executed asks for “Total number of students for whom marks should be processed”. Upon receiving the number of student value, it asks for each student details such as
  • Rollno
  • Name
  • Marks
When all the details are entered it is stored in an array of structures. 
The marks of student is used to process the grades and stored in the variable grade of each student. The program prints the results for each student.
The grade is calculated based on the following logic.
If grade is less than or equal to 50, the student gets 'F',

If grade is greater than 50, but less than or equal to 55, student gets a 'D',

If grade is greater than 55, but less than or equal to 60, student gets a 'C',

If grade is greater than 60, but less than or equal to 75, student gets a 'B',

if grade is grater than 75, but less than or equal to 90, then student gets 'A',

if grade is above 90, the student get the highest grade - 'A+'. 

You may change the evaluation criteria as per your need.

Program Code – Processing Student Marks and Display Results

/* Program to process marks of students and display Grades */

#include <stdio.h>
#include <conio.h>

struct student{
    char name[25];
    int rollno;
    int marks;
    char grade;
};
main()
{
    struct student stud[15];
    int i,n;
/* Get the number of students */
    printf("ENTER THE NUMBER OF STUDENTS:");
    scanf("%d",&n);

/* Get the value of Students marks*/
    for(i=0;i<n;i++)
    {
        printf("ENTER STUDENT INFORMATION:\n");
        printf("NAME:");
        scanf("%s",&stud[i].name);
        printf("ROLLNO:");
        scanf("%d",&stud[i].rollno);
        printf("MARKS(In Percentage):");
        scanf("%d",&stud[i].marks);
        printf("\n");
    }

/* Print student information*/
    for(i=0;i<n;i++)
    {
        if(stud[i].marks <= 50) 
        { 
            stud[i].grade = 'F'; 
        } 
        else if(stud[i].marks > 50 && stud[i].marks <= 55) 
        { 
            stud[i].grade = 'D'; 
        } 
        else if(stud[i].marks > 55 && stud[i].marks <= 60) 
        { 
            stud[i].grade = 'C'; 
        } 
        else if(stud[i].marks > 60 && stud[i].marks <= 75) 
        { 
            stud[i].grade = 'B'; 
        } 
        else if (stud[i].marks > 75 && stud[i].marks <= 90) 
        { 
            stud[i].grade = 'A'; 
        } 
        else if(stud[i].marks > 90)
        {
            stud[i].grade = 'S';
        }
    }

    for(i = 0;i<40;i++)
    printf("_");printf("\n");
    printf("Name\tRollNo\tMarks\tGrade\n");
    for(i = 0;i<40;i++)
    printf("_");printf("\n");
    for(i=0;i<n;i++)
        {      printf("%s\t%d\t%d\t%c\n",stud[i].name,stud[i].rollno,stud[i].marks,stud[i].grade);
   }
   for(i = 0;i<40;i++)
   printf("_");printf("\n");
   getch();
      return 0;
}

Output – Processing Student Marks and Display Results


Output - C Program to Process Marks of Student and Display Grade
Output – C Program to Process Marks of Student and Display Grade

Comments

Popular posts from this blog

Recursive program to insert a star between pair of identical characters

Given a string with repeated characters, we have to insert a star i.e. ” * “  between pair of adjacent identical characters using recursion. Examples: Input : aabb Output : a*ab*b Input : xxxy Output : x*x*xy Recommended: Please try your approach on  {IDE}  first, before moving on to the solution. Approach: If there is an empty string then simply return. This forms our  base condition . Else we do the following- Check if the first two characters are identical. If yes, then insert ” * ” between them. As we have now checked for identical characters at first two positions of the string so we now make a recursive call  without the first character of the string . The above approach has been implemented below: C filter_none edit play_arrow brightness_4 // Recursive CPP program to insert * between // two consecutive same characters. #include <iostream> using namespace std;     // Funct...

Area of circle and use of #define

 To calculate the area and circumference of a circle with given radius. Get to know the ' #define'  directive. The code: -------------------------------------------- #include<stdio.h> #define PI 3.14159       //defining PI value main() {     float R,C,A;     printf("Give the radius of circle \nR= ");       scanf("%f",&R);     //scanning radius     C=2*PI*R;       //calculating circumference     A=PI*R*R;        //calculating area     printf("Circumference=%f    Area=%f\n",C,A); } ---------------------------------------------      First of all compile and run this program and see it works. Now notice that in the very second line of code I wrote a statement " #define PI 3.14159 " and further in the formulas for calculating area a...

C Program to find the Average of numbers

Here we will write two C programs to find the average of two numbers(entered by user). Example 1: Program to find the average of two numbers #include <stdio.h> int main () { int num1 , num2 ; float avg ; printf ( "Enter first number: " ); scanf ( "%d" ,& num1 ); printf ( "Enter second number: " ); scanf ( "%d" ,& num2 ); avg = ( float )( num1 + num2 )/ 2 ; //%.2f is used for displaying output upto two decimal places printf ( "Average of %d and %d is: %.2f" , num1 , num2 , avg ); return 0 ; } Output: Enter first number : 12 Enter second number : 13 Average of 12 and 13 is : 12.50 Example 2: Program to find the average using function In this program, we have created a user defined function average() for the calculation of average. The numbers entered by user are passed to this function during function call. #include <stdio.h> floa...