练习 - 计算信用小时数和成绩积分的总和

已完成

在本练习中,你将计算和存储每门课程的学分总数和获得的成绩点数。 这些值稍后将用于计算 GPA。 由于信用小时数和等级值都表示为整数,因此你将使用整数数据类型存储总和。

创建变量以存储平均值

请注意,要计算学生的 GPA,你需要总学分和获得的总绩点。 课程赚取的分数等于该课程的信用小时数和赚取的数字等级值乘积。 例如:

Course          Credit  Credit Hours    Grade Points
English 101     4		3               12

在此任务中,你将创建变量来存储计算 GPA 所需的值。 你将创建一个变量来存储每个课程的总信用小时数和,另一个变量用于存储学生为每个课程赚取的成绩分数的总和。

  1. 在 .NET 编辑器中,找到 Console.WriteLine() 用于显示课程信息的语句。

  2. Console.WriteLine() 语句上方创建一个空白代码行。

  3. 在创建的空白代码行上,若要创建一个将存储总信用小时数的变量,请输入以下代码:

    int totalCreditHours = 0;
    
    

    请注意,总计初始化为 0。 通过此初始化,可以在保持代码组织的同时递增总和。

  4. 若要递增总和以表示总额度小时数,请输入以下代码:

    totalCreditHours += course1Credit;
    totalCreditHours += course2Credit;
    totalCreditHours += course3Credit;
    totalCreditHours += course4Credit;
    totalCreditHours += course5Credit;
    
    

    回想一下, += 运算符是简写表示法,用于向变量添加值。 这些代码行的结果与在一行上添加每个 courseCredit 变量的结果相同,例如:

    totalCreditHours = course1Credit + course2Credit + course3Credit + course4Credit + course5Credit;
    
  5. 若要创建一个变量,用于存储每个课程赚取的分数总数,请输入以下代码:

    int totalGradePoints = 0;
    
    
  6. 若要按第一课程赚取的分数递增总和,请输入以下代码:

    totalGradePoints += course1Credit * course1Grade;
    
    

    请记住,课程的绩点等于课程学分乘以获得的成绩分数。 在这行代码中,您使用复合赋值运算符将 course1Credit * course1Grade 的积添加到 totalGradePoints

  7. 要根据剩余课程获得的绩点来递增总和,请输入以下代码:

    totalGradePoints += course2Credit * course2Grade;
    totalGradePoints += course3Credit * course3Grade;
    totalGradePoints += course4Credit * course4Grade;
    totalGradePoints += course5Credit * course5Grade;
    
    
  8. 花点时间查看你的代码。

    请注意,你编写的代码按可管理的步骤分解了问题,而不是试图在一次大型操作中计算 GPA。 首先,初始化并计算了值 totalCreditHours。 然后,初始化并计算了值 totalGradePoints。 之后,你将在最终计算中使用这些值。

    现在您的代码正在为totalGradePoints计算一个值,我们在继续之前验证计算是否正确。 请务必定期暂停并检查您的工作。 在开发过程中尽早检查你的工作可以更轻松地查找和修复代码中的任何错误。

  9. 若要显示totalGradePointstotalCreditHours的值,请输入以下代码:

    Console.WriteLine($"{totalGradePoints} {totalCreditHours}");
    

    稍后将删除此 WriteLine() 语句,因为最终输出中不需要该语句。

检查你的工作

在此任务中,你将运行代码并验证输出是否正确。

  1. 检查代码是否如下所示:

    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}");
    
  2. 若要运行代码并显示当前值totalGradePointstotalCreditHours,请选择“运行”。

  3. 验证应用程序的输出是否与以下输出匹配:

    57 17
    English 101 4 3
    Algebra 101 3 3
    Biology 101 3 4
    Computer Science I 3 4
    Psychology 101 4 3
    

    如果代码显示不同的结果,则需要查看代码以查找错误并进行更新。 再次运行代码以查看是否已解决问题。 继续更新并运行代码,直到代码生成预期结果。

重要

确保不要删除到目前为止已编写的任何代码。 在下一个练习中,你将在此代码的基础上进行改进。