リンクされた構造のリストにあるコース情報から合計成績平均点(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);
}