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

Count the number of objects using Static member function

Write a program to design a class having static member function named showcount() which has the property of displaying the number of objects created of the class. Explanation:  In this program we are simply explaining the approach of static member function. We can define class members and member functions as static using static keyword. Before understanding static member function, we must understand static member. When we declare a member of a class as static it means no matter how many objects of the class are created, there is  only one copy of the static member . Important points about Static : A static member is shared by all objects of the class, all static data is initialized to zero when the first object is created, if no other initialization is present. A static member function can only access static data member, other static member functions and any other functions from outside the class. By declaring a function member as static, we make it independent of any ...

C program to evaluate the net salary of an employee given the following constraints

Given the following constrains and we have to calculate net salary of an employee. Basic salary  : $ 12000 DA  : 12% of Basic salary HRA  : $150 TA  : $120 Others  : $450 Tax cuts  – a) PF :14% of Basic salary and b) IT: 15% of Basic salary Net Salary  = Basic Salary + DA + HRA + TA + Others – (PF + IT) Consider the program: # include < stdio.h > //main program int main ( ) { //variable to store values float basic , da , hra , ta , others ; float pf , it ; float net_salary ; //input required fields printf ( " Enter Basic Salary ($): " ) ; scanf ( " %f " , & basic ) ; printf ( " Enter HRA ($): " ) ; scanf ( " %f " , & hra ) ; printf ( " Enter TA ($): " ) ; scanf ( " %f " , & ta ) ; printf ( " Enter others ($): " ) ; scanf ( " %f " , & others ) ; //calculate DA 12% of Basic Salary da = ( basic * 12 ) / 100 ; //calculate PF 1...