PROGRAM:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
struct Course {
string name;
int credits;
float grade;
};
float calculateCGPA(const vector<Course>& courses) {
float totalGradePoints = 0.0;
int totalCredits = 0;
for (const auto& course : courses) {
totalGradePoints += course.grade * course.credits;
totalCredits += course.credits;
return totalCredits > 0 ? totalGradePoints / totalCredits : 0.0;
int main() {
int numCourses;
cout << "Enter the number of courses: ";
cin >> numCourses;
vector<Course> courses(numCourses);
for (int i = 0; i < numCourses; ++i) {
cout << "Enter the name of course " << (i + 1) << ": ";
cin >> courses[i].name;
cout << "Enter the credits for " << courses[i].name << ": ";
cin >> courses[i].credits;
cout << "Enter the grade for " << courses[i].name << ": ";
cin >> courses[i].grade;
float cgpa = calculateCGPA(courses);
cout << fixed << setprecision(2);
cout << "Cumulative Grade Point Average (CGPA): " << cgpa << endl;
return 0;