練習 - 計算學分和績點的總和
在本練習中,您將計算並儲存總學分和對每門課程所獲得的總績點。 這些值稍後將會用來計算 GPA。 由於學分和成績都是以整數表示,因此您將使用整數資料類型來儲存總和。
建立變數來儲存平均值
回想一下,若要計算學生的 GPA,您需要總學分,以及所獲得的總績點。 課程所獲得的績點等於該課程的學分與所獲得成績的乘積。 例如:
Course Credit Credit Hours Grade Points
English 101 4 3 12
在這項工作中,您將建立變數來儲存計算 GPA 所需的值。 您將建立變數來儲存每門課程的總學分之和,以及建立另一個變數來儲存學生對每門課程所獲得的績點之和。
在 .NET 編輯器中,找出用來顯示課程資訊的
Console.WriteLine()
陳述式。在
Console.WriteLine()
陳述式上方建立空白的程式碼行。在您所建立的空白程式碼行上,若要建立將儲存總學分的變數,請輸入下列程式碼:
int totalCreditHours = 0;
請注意,總計會初始化為
0
。 此初始化可讓您在遞增總和,同時讓您的程式碼井然有序。若要遞增總和來表示總學分,請輸入下列程式碼:
totalCreditHours += course1Credit; totalCreditHours += course2Credit; totalCreditHours += course3Credit; totalCreditHours += course4Credit; totalCreditHours += course5Credit;
回想一下,
+=
運算子是速記標記法,可將值新增至變數。 這些程式碼具有與在一行上新增每個courseCredit
變數相同的結果,例如:totalCreditHours = course1Credit + course2Credit + course3Credit + course4Credit + course5Credit;
若要建立變數,其中將儲存對每門課程所獲得的總積點,請輸入下列程式碼:
int totalGradePoints = 0;
若要透過對第一門課程所獲得的績點遞增總和,請輸入下列程式碼:
totalGradePoints += course1Credit * course1Grade;
回想一下,對課程所獲得的績點等於課程學分乘以所獲得的成績。 在這個程式碼中,您會使用複合指派運算子,將
course1Credit * course1Grade
的乘積新增至totalGradePoints
。若要透過對剩餘課程所獲得的績點遞增總和,請輸入下列程式碼:
totalGradePoints += course2Credit * course2Grade; totalGradePoints += course3Credit * course3Grade; totalGradePoints += course4Credit * course4Grade; totalGradePoints += course5Credit * course5Grade;
請花幾分鐘檢閱您的程式碼。
請注意,您撰寫的程式碼會將問題分解成可管理的片段,而不是嘗試在一個大型作業中計算 GPA。 首先,您已初始化並計算
totalCreditHours
的值。 接著,您已初始化並計算totalGradePoints
的值。 之後,您將在最終計算中使用這些值。既然您的程式碼正在計算
totalGradePoints
的值,讓我們先驗證您的計算是否正確,然後再繼續。 請務必定期停止並檢查您的工作。 在開發流程初期檢查您的工作,可讓您更輕鬆地找出並修正程式碼中的任何錯誤。若要顯示
totalGradePoints
和totalCreditHours
的值,請輸入下列程式碼:Console.WriteLine($"{totalGradePoints} {totalCreditHours}");
您稍後會移除此
WriteLine()
陳述式,因為最終輸出中不需要此陳述式。
檢查您的工作
在此工作中,您將執行程式碼,並驗證輸出是否正確。
檢查您的程式碼是否類似下列程式碼:
string studentName = "Sophia Johnson"; string course1Name = "English 101"; string course2Name = "Algebra 101"; string course3Name = "Biology 101"; string course4Name = "Computer Science I"; string course5Name = "Psychology 101"; int course1Credit = 3; int course2Credit = 3; int course3Credit = 4; int course4Credit = 4; int course5Credit = 3; int gradeA = 4; int gradeB = 3; int course1Grade = gradeA; int course2Grade = gradeB; int course3Grade = gradeB; int course4Grade = gradeB; int course5Grade = gradeA; int totalCreditHours = 0; totalCreditHours += course1Credit; totalCreditHours += course2Credit; totalCreditHours += course3Credit; totalCreditHours += course4Credit; totalCreditHours += course5Credit; int totalGradePoints = 0; totalGradePoints += course1Credit * course1Grade; totalGradePoints += course2Credit * course2Grade; totalGradePoints += course3Credit * course3Grade; totalGradePoints += course4Credit * course4Grade; totalGradePoints += course5Credit * course5Grade; Console.WriteLine($"{totalGradePoints} {totalCreditHours}"); Console.WriteLine($"{course1Name} {course1Grade} {course1Credit}"); Console.WriteLine($"{course2Name} {course2Grade} {course2Credit}"); Console.WriteLine($"{course3Name} {course3Grade} {course3Credit}"); Console.WriteLine($"{course4Name} {course4Grade} {course4Credit}"); Console.WriteLine($"{course5Name} {course5Grade} {course5Credit}");
若要執行您的程式碼,並顯示
totalGradePoints
和totalCreditHours
的目前值,請選取 [執行]。驗證應用程式的輸出是否符合下列輸出:
57 17 English 101 4 3 Algebra 101 3 3 Biology 101 3 4 Computer Science I 3 4 Psychology 101 4 3
如果您的程式碼顯示不同的結果,您必須檢閱程式碼以尋找錯誤並進行更新。 再次執行程式碼,查看您是否已修正此問題。 請繼續更新和執行程式碼,直到其產生預期的結果為止。
重要
切記勿刪除您到目前為止撰寫的任何程式碼。 在下一個練習中,您將以此程式碼為基礎進行建置。