我正在尝试完成一个实验室,在该实验室中,我必须根据结构链接列表中给出的课程信息计算总平均绩点 (GPA)。我正在尝试用适当的成绩点定义每个字母等级('A' = 4.0,“A-” = 3.7 ...)。课程成绩存储在字符数组中。我可以使用#define
导数来定义字母等级 A、B、C、D、E,但我在定义 +/- 等级时遇到了麻烦。使用#define
导数是完成这项任务的正确方法吗?如果是这样,有人能告诉我正确的语法吗?
/* Definition of a data node holding course information */
struct course {
int term;
char name[15];
char abbrev[20];
float hours;
char grade [4];
char type[12];
struct course *next;
};
float gpa ( struct course *ptr )
{
float totalhours;
float gpa;
float gradepoints;
while (ptr != NULL )
{
totalhours += (ptr->hours);
gradepoints = (ptr->hours * ptr->grade);
}
gpa = (gradepoints / totalhours);
}