C# 泛型绩点计算器代码示例
C# 泛型绩点计算器代码示例
以下是一个使用 C# 泛型编写的绩点计算器代码示例:csharpusing System;using System.Collections.Generic;
public class GradeCalculator
public GradeCalculator()    {        gradePoints = new Dictionary<T, double>();    }
public void AddGradePoint(T grade, double point)    {        gradePoints.Add(grade, point);    }
public double CalculateGPA(List<T> grades)    {        double totalPoints = 0;        int totalCredits = grades.Count;
    foreach (T grade in grades)        {            if (gradePoints.ContainsKey(grade))            {                totalPoints += gradePoints[grade];            }            else            {                throw new ArgumentException('Invalid grade: ' + grade);            }        }
    return totalPoints / totalCredits;    }}
public class Program{    public static void Main(string[] args)    {        // 创建一个字符型的绩点计算器        GradeCalculator
    // 添加字符型的绩点        charCalculator.AddGradePoint('A', 4.0);        charCalculator.AddGradePoint('B', 3.0);        charCalculator.AddGradePoint('C', 2.0);        charCalculator.AddGradePoint('D', 1.0);        charCalculator.AddGradePoint('F', 0.0);
    // 创建一个整型的绩点计算器        GradeCalculator<int> intCalculator = new GradeCalculator<int>();
    // 添加整型的绩点        intCalculator.AddGradePoint(90, 4.0);        intCalculator.AddGradePoint(80, 3.0);        intCalculator.AddGradePoint(70, 2.0);        intCalculator.AddGradePoint(60, 1.0);        intCalculator.AddGradePoint(0, 0.0);
    // 测试字符型绩点计算器        List<char> charGrades = new List<char> { 'A', 'B', 'C', 'A' };        double charGPA = charCalculator.CalculateGPA(charGrades);        Console.WriteLine('Character GPA: ' + charGPA);
    // 测试整型绩点计算器        List<int> intGrades = new List<int> { 90, 80, 70, 90 };        double intGPA = intCalculator.CalculateGPA(intGrades);        Console.WriteLine('Integer GPA: ' + intGPA);    }}
这个代码示例中,我们创建了一个泛型类 GradeCalculator<T>,用于计算绩点。我们使用一个字典 gradePoints 来存储不同等级的绩点。AddGradePoint 方法用于添加绩点到字典中。CalculateGPA 方法接受一个泛型列表 grades,计算平均绩点并返回结果。
在 Main 方法中,我们创建了一个字符型的绩点计算器和一个整型的绩点计算器,并分别添加了不同等级的绩点。然后,我们使用这些绩点计算器来计算不同类型的成绩列表的平均绩点。最后,将结果输出到控制台。
这段代码展示了如何使用 C# 泛型创建灵活和可重用的代码。GradeCalculator 类可以用于任何类型的成绩,例如字母等级或百分比等级。
原文地址: https://www.cveoy.top/t/topic/fMtZ 著作权归作者所有。请勿转载和采集!