我想完成一個實驗室,我必須根據結構鏈接列表中給出的課程信息計算總學分平均值(GPA)。我試圖用適當的分數來定義每個字母等級('A'= 4.0,「A-」= 3.7 ...)。課程成績存儲在字符數組中。我可以使用#define
衍生物來定義字母等級A,B,C,D,E,但我在定義+/-等級時遇到了問題。是否使用#define
衍生物來實現此任務的正確方法?如果是這樣,有人能夠給我看適當的語法。將+/-字母等級定義爲常量。 C
/* 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);
}
GPA =(gradepoints/totalhours); –
我會立即建議您將該ptr提前到列表中的下一個,否則在循環結束之前將會是寒冷的一天。 – WhozCraig
爲什麼不叫他們A_PLUS和A_MINUS?如果不行,原因在於你沒有提供的事實或代碼。 –