prantiknoor

C Lab - CGPA

Sep 15th, 2025 (edited)
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct Course {
  4.   char code[16];
  5.   double marks;
  6.   double credits;
  7. };
  8.  
  9. struct Student {
  10.   char name[64];
  11.   double cgpa;
  12.   int course_count;
  13.   Course courses[10];
  14. };
  15.  
  16. double calc_grade(double marks) {
  17.   if(marks >= 80) {
  18.     return 4;
  19.   } else if(marks >= 75) {
  20.     return 3.75;
  21.   } else if(marks >= 70) {
  22.     return 3.5;
  23.   } else if(marks >= 65) {
  24.     return 3.25;
  25.   } else if(marks >= 60) {
  26.     return 3;
  27.   } else if(marks >= 55) {
  28.     return 2.75;
  29.   } else if(marks >= 50) {
  30.     return 2.5;
  31.   } else if(marks >= 45) {
  32.     return 2.25;
  33.   } else if(marks >= 40) {
  34.     return 2;
  35.   } else {
  36.     return 0;
  37.   }
  38. }
  39.  
  40.  
  41. int main() {
  42.   int n;
  43.   printf("Enter number of students: ");
  44.   scanf("%d", &n);
  45.   Student students[n];
  46.  
  47.   for(int i=0; i<n; i++) {
  48.     printf("Enter student %d details:\n", i+1);
  49.     printf("Name: ");
  50.     scanf("%s", &students[i].name);
  51.     printf("Number of courses: ");
  52.     scanf("%d", &students[i].course_count);
  53.     double total_credits = 0, qp = 0;
  54.     for(int j=0; j<students[i].course_count; j++) {
  55.       printf("Enter course %d details:\n", j+1);
  56.       printf("Course code: ");
  57.       scanf("%s", &students[i].courses[j].code);
  58.       printf("Course credits: ");
  59.       scanf("%d", &students[i].courses[j].credits);
  60.       printf("Obtained marks: ");
  61.       scanf("%lf", &students[i].courses[j].marks);
  62.       printf("\n");
  63.       total_credits += students[i].courses[j].credits;
  64.       qp += students[i].courses[j].credits*calc_grade(students[i].courses[j].marks);
  65.     }
  66.     students[i].cgpa = qp/total_credits;
  67.   }
  68.  
  69.   for(int i=0; i<n; i++) {
  70.     printf("Student %d detalis:\n",i+1);
  71.     printf("Name: %s\n", students[i].name);
  72.     printf("CGPA: %lf\n", students[i].cgpa);
  73.   }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment