namespace 求学生GPA
{
class Program
{
class Student
{
int no;
string name;
Course[] course = new Course[4];
double GPA;
public Student(int sno,string sname,Course[]c)
{
no = sno;
name = sname;
course = c;
}
public void ComputeGPA()
{
double ocredit = 0;//课程原始学分
double credit = 0;//课程原始学分之和
double grade = 0;//课程原始学分*成绩绩点之和
for (int i=0;i<4;i++)
{
ocredit = course[i].Credit;//调用属性的
credit += ocredit;
Console.WriteLine("学分为{0}的{1}成绩为{2}", course[i].Credit, course[i].Name, course[i].Score);
if (course[i].Score <= 100 && course[i].Score >= 90)
course[i].Credit = 4.0;
else if(course[i].Score <90 && course[i].Score >= 80)
course[i].Credit = 3.0;
else if (course[i].Score <80 && course[i].Score >= 70)
course[i].Credit = 2.0;
else if (course[i].Score < 70 && course[i].Score >= 60)
course[i].Credit = 1.0;
else
course[i].Credit = 0;
grade += course[i].Credit * ocredit;
}
GPA = grade / credit;
}
public void Display()
{
Console.WriteLine("该同学学号为{0},姓名为{1},绩点为{2}", no, name, GPA);
}
}
class Course//course和student类应该是并列的,不是从属关系
{
string name;//课程名
double credit;//学分
double score;//成绩
public string Name
{
set { name = value; }
get { return name; }
}
public double Credit
{
set
{
if (value < 0) return;
credit = value;
}
get { return credit; }
}
public double Score
{
set
{
if (value < 0) return;
score = value;
}
get { return score; }
}
public Course(string cname, int ccredit, double cscore)
{
name = cname;
credit = ccredit;
score = cscore;
}
}
static void Main(string[] args)
{
Course c1 = new Course("和声学", 2, 98);
Course c2 = new Course("作曲", 3, 97);
Course c3= new Course("作词", 3, 87);
Course c4 = new Course("表演", 4, 80);
Course[] C = new Course[] { c1, c2, c3, c4 };
Student s = new Student(14, "陈噢噢", C);
s.ComputeGPA();
s.Display();
}
}
}
计算GPA
最新推荐文章于 2025-05-08 14:09:58 发布