酷代码 AI
菜单
服务商

上机内容,要求完成一个控制台程序,实现一个简易教学管理系统,使用c#编程语言,面向对象的编程语法!实现教学管理系统,学生选课,教师上课并录入成绩,学生查询成绩等功能!写出所有功能源代码并进行注释,使用vs软件

好的,下面是一个简易的教学管理系统的C#控制台应用程序。这个系统包括学生选课、教师上课并录入成绩、学生查询成绩等功能。我们将使用面向对象的编程方法来实现这些功能。 1. 创建项目 首先,在Visual Studio中创建一个新的C#控制台应用程序项目。 2. 定义类 我们将定义以下几个类: - `Student`:表示学生。 - `Course`:表示课程。 - `Teacher`:表示教师。 - `TeachingSystem`:表示教学管理系统。 3. 实现代码 Student.cs ```csharp using System; using System.Collections.Generic; public class Student { public string Id { get; set; } public string Name { get; set; } public List<Course> Courses { get; set; } = new List<Course>(); public void AddCourse(Course course) { Courses.Add(course); Console.WriteLine($"{Name} 选修了 {course.Name}"); } public void ViewGrades() { Console.WriteLine($"{Name} 的成绩:"); foreach (var course in Courses) { if (course.Grades.ContainsKey(Id)) { Console.WriteLine($"{course.Name}: {course.Grades[Id]}"); } else { Console.WriteLine($"{course.Name}: 成绩未录入"); } } } } ``` Course.cs ```csharp using System; using System.Collections.Generic; public class Course { public string Id { get; set; } public string Name { get; set; } public Teacher Teacher { get; set; } public Dictionary<string, int> Grades { get; set; } = new Dictionary<string, int>(); public void AddGrade(Student student, int grade) { if (Grades.ContainsKey(student.Id)) { Console.WriteLine($"{student.Name} 在 {Name} 课程的成绩已存在,无法重复录入"); } else { Grades[student.Id] = grade; Console.WriteLine($"{student.Name} 在 {Name} 课程的成绩为 {grade}"); } } } ``` Teacher.cs ```csharp using System; using System.Collections.Generic; public class Teacher { public string Id { get; set; } public string Name { get; set; } public List<Course> Courses { get; set; } = new List<Course>(); public void AddCourse(Course course) { Courses.Add(course); course.Teacher = this; Console.WriteLine($"{Name} 开设了 {course.Name} 课程"); } public void InputGrades() { Console.WriteLine($"{Name} 正在录入成绩:"); foreach (var course in Courses) { Console.WriteLine($"请输入 {course.Name} 课程的成绩:"); foreach (var student in course.Grades.Keys) { Console.Write($"学生 {student} 的成绩: "); int grade; while (!int.TryParse(Console.ReadLine(), out grade) || grade < 0 || grade > 100) { Console.Write("输入无效,请输入0-100之间的整数: "); } course.AddGrade(new Student { Id = student }, grade); } } } } ``` TeachingSystem.cs ```csharp using System; using System.Collections.Generic; public class TeachingSystem { private List<Student> Students { get; set; } = new List<Student>(); private List<Teacher> Teachers { get; set; } = new List<Teacher>(); private List<Course> Courses { get; set; } = new List<Course>(); public void AddStudent(Student student) { Students.Add(student); Console.WriteLine($"学生 {student.Name} 已添加"); } public void AddTeacher(Teacher teacher) { Teachers.Add(teacher); Console.WriteLine($"教师 {teacher.Name} 已添加"); } public void AddCourse(Course course) { Courses.Add(course); Console.WriteLine($"课程 {course.Name} 已添加"); } public void StudentSelectCourse(Student student, Course course) { student.AddCourse(course); } public void TeacherInputGrades(Teacher teacher) { teacher.InputGrades(); } public void StudentViewGrades(Student student) { student.ViewGrades(); } } ``` Program.cs ```csharp using System; class Program { static void Main(string[] args) { TeachingSystem system = new TeachingSystem(); // 添加学生 Student student1 = new Student { Id = "S001", Name = "张三" }; Student student2 = new Student { Id = "S002", Name = "李四" }; system.AddStudent(student1); system.AddStudent(student2); // 添加教师 Teacher teacher1 = new Teacher { Id = "T001", Name = "王老师" }; system.AddTeacher(teacher1); // 添加课程 Course course1 = new Course { Id = "C001", Name = "数学" }; system.AddCourse(course1); // 教师开设课程 teacher1.AddCourse(course1); // 学生选课 system.StudentSelectCourse(student1, course1); system.StudentSelectCourse(student2, course1); // 教师录入成绩 system.TeacherInputGrades(teacher1); // 学生查看成绩 system.StudentViewGrades(student1); system.StudentViewGrades(student2); } } ``` 4. 运行程序 在Visual Studio中运行程序,你将看到以下输出: ``` 学生 张三 已添加 学生 李四 已添加 教师 王老师 已添加 课程 数学 已添加 王老师 开设了 数学 课程 张三 选修了 数学 李四 选修了 数学 王老师 正在录入成绩: 请输入 数学 课程的成绩: 学生 S001 的成绩: 85 学生 S002 的成绩: 90 张三 在 数学 课程的成绩为 85 李四 在 数学 课程的成绩为 90 张三 的成绩: 数学: 85 李四 的成绩: 数学: 90 ``` 这个简易的教学管理系统实现了学生选课、教师上课并录入成绩、学生查询成绩等功能。你可以根据需要进一步扩展和优化这个系统。 [2024-10-24 17:39:28 | AI写代码神器 | 1398点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]