练习 - 计算学分数和成绩分数的总和
在本练习中,你将计算并存储每门课程的总学时数和获得的总绩点。 这些值稍后将用于计算 GPA。 由于学时和成绩值均表示为整数,因此你将使用 Integer 数据类型存储总和。
创建变量以存储平均值
回想一下,要计算学生的 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
如果代码显示不同的结果,则需要查看代码以查找错误并进行更新。 再次运行代码以查看是否已解决问题。 继续更新和运行代码,直到代码生成预期结果。
重要
确保不要删除到目前为止已编写的任何代码。 在下一个练习中,你将基于此代码进行生成。