using System;
using System.Collections.Generic;
using System.Text;
namespace 西南石油大学_学分绩点计算器
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("西南石油大学--学分绩点计算器");
Console.WriteLine();
Term thisTerm = new Term();
int NumOfCourses = GetInput.CourseNum();//本学期课程数
for (int i = 1; i <= NumOfCourses; i++)
{
Console.WriteLine();
Console.WriteLine("--------------开始录入第{0}门课程--------------", i);
Console.WriteLine("第{0}门课程有几个学分?", i);
double credit = GetInput.GetCredit();
Console.WriteLine("第{0}门课程考了多少分?", i);
double score = GetInput.GetCredit();
Course OneCourse = new Course(credit, score);
thisTerm.AddOneCourse(OneCourse);
Console.WriteLine("--------------第{0}门课程录入完毕--------------", i);
Console.WriteLine();
}
Console.WriteLine("最后学分绩点是:" + thisTerm.GetFinalJIDIAN());
Console.WriteLine("欢迎访问我的博客:http://blog.csdn.net/cuipengfei1");
Console.Read();
System.Diagnostics.Process.Start("http://blog.csdn.net/cuipengfei1");
}
}
class GetInput
{
public static int CourseNum()
{
Console.WriteLine("本学期一共有几门必修课程?(注意,是必修课程哦)");
string num = Console.ReadLine();
int NUM;
int.TryParse(num, out NUM);
return NUM;
}
public static double GetCredit()
{
string credit = Console.ReadLine();
double CREDIT;
double.TryParse(credit, out CREDIT);
return CREDIT;
}
}
class Course//一门课程
{
private double credit;//学分
private double score;//分数
public double Credit//学分
{
get { return credit; }
set { credit = value; }
}
public double Score//分数
{
get { return score; }
set { score = value; }
}
public Course(double _credit, double _score)//构造
{
credit = _credit;
score = _score;
}
public double GetJIDIAN() //本门绩点
{
double jidian;
jidian = ((score - 60) / 10) + 1;
return jidian;
}
}
class Term //本学期
{
List<Course> AllCourse = new List<Course>();
public void AddOneCourse(Course course)
{
AllCourse.Add(course);
}
public double GetFinalJIDIAN()
{
double totalCredit = 0;
double totalJIDIAN = 0;
foreach (Course oneCourse in AllCourse)
{
totalCredit += oneCourse.Credit;
totalJIDIAN += oneCourse.GetJIDIAN() * oneCourse.Credit;
}
return totalJIDIAN / totalCredit;
}
}
}