Solved programming problem

Store Data of Student and Count there CGPA and Search them by name using Structure in C.

Source code

#include <stdio.h>

#include<string.h>

struct sub

{

    char spl;

    char eng;

    char dis;

};

struct info

{

    char name[100];

    int id;

    char dept[100];

    char sem[100];

    double cgpa;

    struct sub marks;

};

int main()

{

    struct info a[100];

    int i,j;

    int total_info;

    double cgpa=0;

    int index=0;

    printf("Please Enter How many Student info you want to Store: ");

    scanf("%d",&total_info);

    for(i=0; i<total_info; i++)

    {

        printf("Please Enter The name: ");

        getchar();

        gets(a[i].name);

        printf("Id: ");

        getchar();

        scanf("%d",&a[i].id);

        printf("Dept: ");

        getchar();

        scanf("%s",a[i].dept);

        printf("Sem : ");

        scanf("%s",a[i].sem);

        fflush(stdin);

        printf("3 sub grade('a','b','c'): ");

        printf("SPL: ");

        scanf("%c",&a[i].marks.spl);

        fflush(stdin);

        printf("Eng :");

        scanf("%c",&a[i].marks.eng);

        fflush(stdin);

        printf("Dis :");

        scanf("%c",&a[i].marks.dis);

    }

    for(i=0; i<total_info; i++)

    {

        if(a[i].marks.spl == 'a' || a[i].marks.eng== 'a' ||a[i].marks.dis== 'a')

        {

            a[i].cgpa=  a[i].cgpa+4;

        }

        if(a[i].marks.spl== 'b' || a[i].marks.eng == 'b' || a[i].marks.dis== 'b')

        {

            a[i].cgpa=  a[i].cgpa+3.5;

        }

        if(a[i].marks.spl== 'c'|| a[i].marks.eng== 'c'|| a[i].marks.dis== 'c')

        {

            a[i].cgpa=  a[i].cgpa+3;

        }

        a[i].cgpa= a[i].cgpa/3;

    }

    char n[100];

    printf("Please enter the name you want to search: ");

    getchar();

    gets(n);

    j=0;

    int flag=0;

    for(i=0; i<total_info; i++)

    {

        flag=0;

        if(strcmp(n,a[i].name)==0)

        {

            flag=1;

        }

        else

        {

            flag=0;

        }

        if(flag==1)

        {

            index==i ;

            break;

        }

    }

    if(flag==0)

    {

        printf(" Id Not Found");

    }

    if(flag==1)

    {

        printf("Name: %s",a[index].name);

        printf(" ID: %d",a[index].id);

        printf("Dept: %s",a[index].dept);

        printf("Sem: %s",a[index].sem);

        printf("CHPA: %lf",a[index].cgpa);

    }

    return 0;

}

Output

Please Enter How many Student info you want to Store: 1


Please Enter The name: Ali


Id: 01
Dept: CSE
Sem : 4th


3 sub grade('a','b','c'):
SPL: a
Eng :b
Dis :c


Please enter the name you want to search: Ali

Name: Ali ID: 1
Dept: CSE
Sem: 4th
CHPA: 3.500000

Join the discussion

Add your comment