Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct Course {
- char code[16];
- double marks;
- double credits;
- };
- struct Student {
- char name[64];
- double cgpa;
- int course_count;
- Course courses[10];
- };
- double calc_grade(double marks) {
- if(marks >= 80) {
- return 4;
- } else if(marks >= 75) {
- return 3.75;
- } else if(marks >= 70) {
- return 3.5;
- } else if(marks >= 65) {
- return 3.25;
- } else if(marks >= 60) {
- return 3;
- } else if(marks >= 55) {
- return 2.75;
- } else if(marks >= 50) {
- return 2.5;
- } else if(marks >= 45) {
- return 2.25;
- } else if(marks >= 40) {
- return 2;
- } else {
- return 0;
- }
- }
- int main() {
- int n;
- printf("Enter number of students: ");
- scanf("%d", &n);
- Student students[n];
- for(int i=0; i<n; i++) {
- printf("Enter student %d details:\n", i+1);
- printf("Name: ");
- scanf("%s", &students[i].name);
- printf("Number of courses: ");
- scanf("%d", &students[i].course_count);
- double total_credits = 0, qp = 0;
- for(int j=0; j<students[i].course_count; j++) {
- printf("Enter course %d details:\n", j+1);
- printf("Course code: ");
- scanf("%s", &students[i].courses[j].code);
- printf("Course credits: ");
- scanf("%d", &students[i].courses[j].credits);
- printf("Obtained marks: ");
- scanf("%lf", &students[i].courses[j].marks);
- printf("\n");
- total_credits += students[i].courses[j].credits;
- qp += students[i].courses[j].credits*calc_grade(students[i].courses[j].marks);
- }
- students[i].cgpa = qp/total_credits;
- }
- for(int i=0; i<n; i++) {
- printf("Student %d detalis:\n",i+1);
- printf("Name: %s\n", students[i].name);
- printf("CGPA: %lf\n", students[i].cgpa);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment