实验目的:
掌握程序设计的基本算法和简单数据结构基础,能够综合运用基本控制语句、算法和数据结构,以及自顶向下、逐步求精的模块化设计方法和面向对象的设计方法,能够设计具有小规模的系统级Java语言程序,提高系统编程能力;
针对计算相关的复杂工程问题,能够使用恰当的算法和数据结构,完成计算、统计、排序、检索、匹配等相关的软件系统的构造、测试与实现;
能够基于面向对象的思想进行程序的设计与实现;
掌握常用的程序调试和测试方法。
实验要求:
采用自顶向下、逐步求精的模块化设计思想设计一个小型信息库管理系统,或者闯关式游戏程序。
要求解释说明采用了什么数据结构和算法,为什么选择这种数据结构或算法,系统实现过程中遇到了哪些问题,这些问题是如何解决的,还有什么问题尚未解决,今后打算从哪几个方面进行改进,本设计的亮点和难点在哪里,实验结果如何,有哪些收获和学习体会;
l 编写程序完成以下大作业内容并完成大作业报告。
实验内容:
功能:
- 实现定义学生成绩记录,记录包括字段有:学生姓名、学号、课程名称、成绩。
- 实现学生成绩管理系统的菜单管理功能,允许查看、添加、修改、删除、统计、查找和排序等操作;
- 实现查看学生成绩单功能,能显示所有学生成绩记录;
- 实现添加学生成绩记录功能,输入某位学生某门课的成绩,能保存到成绩表里面;
- 实现修改学生成绩记录功能,根据学生学号修改课程成绩;
- 实现删除学生成绩记录功能,根据学生学号删除课程成绩;
- 实现统计某门课平均分、最高分和最低分的功能;
-
实现查找某位学生成绩功能,根据学生学号显示该学生的成绩;
-
实现按成绩从高往低排序,并输出。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.查看学生成绩单
2.添加学生成绩记录
3.修改学生成绩记录
4.删除学生成绩记录
5.查看某位学生成绩记录
6.统计这门课平均分、最高分和最低分
7.按成绩从高往低排序,并输出
0.退出程序
然后,根据用户输入的选项执行相应的操作。
-
系统功能模块划分
系统总体流程图如下
package
student.score.manage;
import
java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String choice = "1";
ScoreList studentScoreList = new ScoreList();
System.out.println("**********哈尔滨工业大学学生成绩管理系统********");
while(choice.equals("0") == false) {
System.out.println("1.查看学生成绩单");
System.out.println("2.添加学生成绩记录");
System.out.println("3.修改学生成绩记录");
System.out.println("4.删除学生成绩记录");
System.out.println("5.查看某位学生成绩记录");
System.out.println("6.统计这门课平均分、最高分和最低分");
System.out.println("7.按成绩从高往低排序,并输出");
System.out.println("0.退出程序");
System.out.print("请输入你的选择 ");
choice = input.next();
switch(choice) {
case "0":
System.out.println("谢谢您的使用,欢迎下次光临!\n" + "**********按任意键结束程序**********");
break;
case "1":
studentScoreList.transcript();
System.out.println("请问您还需要什么服务?\n");
break;
case "2":
int i = 1;
do {
studentScoreList.add();
System