C#实现学生成绩管理系统
C#实现学生成绩管理系统
介绍
学生成绩管理系统是一种常见的应用,它提供了学生信息录入、成绩查阅等功能,方便教师和学生进行学习管理。C#是一种面向对象的编程语言,非常适合实现这种应用。
本文将介绍如何使用C#实现一个简单的学生成绩管理系统。我们将使用Visual Studio开发环境来快速构建应用。本系统将支持学生信息的录入、成绩的添加、修改和删除,以及成绩的查询和统计等功能。
步骤
步骤一:建立工程
首先,我们需要在Visual Studio中创建一个C#控制台应用程序工程。在菜单中选择“文件”->“新建项目”,然后在模板中选择“控制台应用程序”,输入工程名称,点击“创建”即可。
步骤二:设计学生类
接下来,我们需要设计一个“学生”类,用于存储学生的基本信息和成绩信息。我们可以在“解决方案资源管理器”中右键选择“添加”->“类”,然后输入类名称“Student”,按下回车键即可。
在Student类中,我们需要定义一些公共属性和方法:
public class Student
{
// 私有字段
private string name;
private string id;
private int chinese;
private int math;
private int english;
// 属性
public string Name
{
get { return name; }
set { name = value; }
}
public string Id
{
get { return id; }
set { id = value; }
}
public int Chinese
{
get { return chinese; }
set { chinese = value; }
}
public int Math
{
get { return math; }
set { math = value; }
}
public int English
{
get { return english; }
set { english = value; }
}
// 方法
public int Sum()
{
return chinese + math + english;
}
public double Avg()
{
return Sum() / 3.0;
}
}
在这个类中,我们定义了私有字段用于存储学生信息和成绩信息,同时定义了公共属性对外提供访问接口。我们还定义了一个Sum()方法用于计算总分,一个Avg()方法用于计算平均分。
步骤三:实现学生信息的录入、添加、修改和删除
接下来,我们需要实现学生信息的录入、添加、修改和删除等功能。我们可以在控制台中使用下面的代码来实现这些功能:
using System;
using System.Collections.Generic;
public class Program
{
private static List<Student> students = new List<Student>();
public static void Main(string[] args)
{
while (true)
{
Console.WriteLine("1. 录入学生信息");
Console.WriteLine("2. 添加学生成绩");
Console.WriteLine("3. 修改学生成绩");
Console.WriteLine("4. 删除学生成绩");
Console.WriteLine("5. 查询学生成绩");
Console.WriteLine("6. 统计学生成绩");
Console.WriteLine("0. 退出系统");
Console.WriteLine();
Console.Write("请选择操作:");
string input = Console.ReadLine();
switch (input)
{
case "1":
AddStudent();
break;
case "2":
AddScore();
break;
case "3":
ModifyScore();
break;
case "4":
DeleteScore();
break;
case "5":
QueryScore();
break;
case "6":
StatisticScore();
break;
case "0":
return;
default:
Console.WriteLine("无效操作");
break;
}
}
}
// 录入学生信息
private static void AddStudent()
{
Console.WriteLine("请输入学生姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入学生学号:");
string id = Console.ReadLine();
Student student = new Student();
student.Name = name;
student.Id = id;
students.Add(student);
Console.WriteLine("学生信息录入成功");
Console.WriteLine();
}
// 添加学生成绩
private static void AddScore()
{
Console.WriteLine("请输入学生学号:");
string id = Console.ReadLine();
Student student = FindStudentById(id);
if (student == null)
{
Console.WriteLine("没有找到该学生");
Console.WriteLine();
return;
}
Console.WriteLine("请输入语文成绩:");
int chinese = int.Parse(Console.ReadLine());
Console.WriteLine("请输入数学成绩:");
int math = int.Parse(Console.ReadLine());
Console.WriteLine("请输入英语成绩:");
int english = int.Parse(Console.ReadLine());
student.Chinese = chinese;
student.Math = math;
student.English = english;
Console.WriteLine("成绩添加成功");
Console.WriteLine();
}
// 修改学生成绩
private static void ModifyScore()
{
Console.WriteLine("请输入学生学号:");
string id = Console.ReadLine();
Student student = FindStudentById(id);
if (student == null)
{
Console.WriteLine("没有找到该学生");
Console.WriteLine();
return;
}
Console.WriteLine("请输入要修改的成绩科目(1. 语文,2. 数学,3. 英语):");
int subject = int.Parse(Console.ReadLine());
Console.WriteLine("请输入修改后的成绩:");
int score = int.Parse(Console.ReadLine());
switch (subject)
{
case 1:
student.Chinese = score;
break;
case 2:
student.Math = score;
break;
case 3:
student.English = score;
break;
default:
Console.WriteLine("无效操作");
break;
}
Console.WriteLine("成绩修改成功");
Console.WriteLine();
}
// 删除学生成绩
private static void DeleteScore()
{
Console.WriteLine("请输入学生学号:");
string id = Console.ReadLine();
Student student = FindStudentById(id);
if (student == null)
{
Console.WriteLine("没有找到该学生");
Console.WriteLine();
return;
}
student.Chinese = 0;
student.Math = 0;
student.English = 0;
Console.WriteLine("成绩删除成功");
Console.WriteLine();
}
// 查询学生成绩
private static void QueryScore()
{
Console.WriteLine("请输入学生学号:");
string id = Console.ReadLine();
Student student = FindStudentById(id);
if (student == null)
{
Console.WriteLine("没有找到该学生");
Console.WriteLine();
return;
}
Console.WriteLine("姓名:{0}", student.Name);
Console.WriteLine("学号:{0}", student.Id);
Console.WriteLine("语文成绩:{0}", student.Chinese);
Console.WriteLine("数学成绩:{0}", student.Math);
Console.WriteLine("英语成绩:{0}", student.English);
Console.WriteLine("总分:{0}", student.Sum());
Console.WriteLine("平均分:{0:F2}", student.Avg());
Console.WriteLine();
}
// 统计学生成绩
private static void StatisticScore()
{
Console.WriteLine("总人数:{0}", students.Count);
int chineseSum = 0;
int mathSum = 0;
int englishSum = 0;
int totalSum = 0;
foreach (Student student in students)
{
chineseSum += student.Chinese;
mathSum += student.Math;
englishSum += student.English;
totalSum += student.Sum();
}
Console.WriteLine("语文总分:{0}", chineseSum);
Console.WriteLine("数学总分:{0}", mathSum);
Console.WriteLine("英语总分:{0}", englishSum);
Console.WriteLine("总分总分:{0}", totalSum);
Console.WriteLine("语文平均分:{0:F2}", chineseSum / (double)students.Count);
Console.WriteLine("数学平均分:{0:F2}", mathSum / (double)students.Count);
Console.WriteLine("英语平均分:{0:F2}", englishSum / (double)students.Count);
Console.WriteLine("总分平均分:{0:F2}", totalSum / (double)students.Count);
Console.WriteLine();
}
// 根据学号查找学生
private static Student FindStudentById(string id)
{
foreach (Student student in students)
{
if (student.Id == id)
{
return student;
}
}
return null;
}
}
步骤四:运行程序
最后,我们可以在Visual Studio中点击“调试”->“启动调试”来运行程序。然后根据提示选择不同的操作,来测试我们实现的功能。
示例说明
示例一:录入学生信息
在控制台中输入“1”选择“录入学生信息”功能。然后输入学生姓名和学号,即可完成学生信息的录入。
1. 录入学生信息
2. 添加学生成绩
3. 修改学生成绩
4. 删除学生成绩
5. 查询学生成绩
6. 统计学生成绩
0. 退出系统
请选择操作:1
请输入学生姓名:
张三
请输入学生学号:
10001
学生信息录入成功
1. 录入学生信息
2. 添加学生成绩
3. 修改学生成绩
4. 删除学生成绩
5. 查询学生成绩
6. 统计学生成绩
0. 退出系统
示例二:添加学生成绩
在控制台中输入“2”选择“添加学生成绩”功能。然后输入学生学号和语文、数学、英语三门成绩,即可完成成绩的添加。
1. 录入学生信息
2. 添加学生成绩
3. 修改学生成绩
4. 删除学生成绩
5. 查询学生成绩
6. 统计学生成绩
0. 退出系统
请选择操作:2
请输入学生学号:
10001
请输入语文成绩:
80
请输入数学成绩:
90
请输入英语成绩:
70
成绩添加成功
1. 录入学生信息
2. 添加学生成绩
3. 修改学生成绩
4. 删除学生成绩
5. 查询学生成绩
6. 统计学生成绩
0. 退出系统
总结
使用C#实现学生成绩管理系统是一项非常基础的任务,但是从中我们可以学习到C#的基本语法和面向对象编程的思想。在实现中,我们使用Visual Studio提供的强大的开发工具,快速实现了一个简单的应用程序。