java简单的学生成绩管理系统_简单学生成绩管理系统(Java实现)

/**Copyright (C) Guan Chengwen at Xiamen University

**2005-12-25

**Student ID: 03231004, Philosophy Department

**Email:mydream2007@hotmail.comQQ: 233204600

**Homepage:http://blog.csdn.net/aprin/

**

**File: Main.java

**Package: aprin.stu_sys

*/

package aprin.stu_sys;

import java.lang.*;

import java.io.*;

import aprin.stu_sys.*;

public class Main

{

public static void main(String[] args)

{

while(true)

{

Menu.paint();

int ctrlTag = Console.readInt();

switch(ctrlTag)

{

case 1:

{

Menu.action1();

break;

}

case 2:

{

Menu.action2();

break;

}

case 3:

{

Menu.action3();

break;

}

case 4:

{

Menu.action4();

break;

}

case 5:

{

Menu.action5();

break;

}

case 6:

{

Menu.action6();

break;

}

case 0:

{

System.exit(0);

break;

}

}

}

}

}

class Student

{

private int number;

private String name;

private int english;

private int math;

private int computer;

private int average;

private int total;

public Student()

{

}

public Student(int number, String name, int english, int math, int computer)

{

this.number = number;

this.name = name;

this.english = english;

this.math = math;

this.computer = computer;

total = english + math + computer;

average = total/3;

}

public int getNumber()

{

return number;

}

public String getName()

{

return name;

}

public int getEnglish()

{

return english;

}

public int getMath()

{

return math;

}

public int getComputer()

{

return computer;

}

public int getAverage()

{

return average;

}

public int getTotal()

{

return total;

}

}

class StudentSet

{

private static final int maxLen = 1000;

private static int len = 0;

private static Student[] data = new Student[maxLen];

public static int getMaxLen()

{

return maxLen;

}

public static int getLen()

{

return len;

}

public static Student getData(int index)

{

return data[index];

}

public static int addData(Student newData)

{

if (len < maxLen)

{

data[len] = newData;

len++;

return 0;

} else

{

return -1;

}

}

public static void sortData()

{

for (int i = 0; i < len -1; i++)

{

int minIndex = i;

for (int j = i+1; j < len; j++)

{

if (data[minIndex].getAverage() > data[j].getAverage())

{

minIndex = j;

}

}

if (minIndex != i)

{

Student temp = data[i];

data[i] = data[minIndex];

data[minIndex] = temp;

}

}

}

public static int search(int number)

{

for(int i = 0; i < len; i++)

{

if (data[i].getNumber() == number)

{

return i;

}

}

return -1;

}

public static int delete(int number)

{

for (int i = 0; i < len; i++)

{

if (data[i].getNumber() == number)

{

for (int j = i + 1; j < len; j++)

{

data[j-1] = data[j];

}

len--;

return 0;

}

}

return -1;

}

public static int stat(int min, int max)

{

int sum =0;

for (int i = 0; i < len; i++)

{

if ((data[i].getAverage() >= min) && (data[i].getAverage() <= max))

{

sum++;

}

}

return sum;

}

}

class Console

{

public static int readInt()

{

int result = 0;

try{

String temp =new BufferedReader(new InputStreamReader(System.in)).readLine();

result = Integer.parseInt(temp);

} catch (Exception e)

{

System.out.println("Error: "+e);

}

return result;

}

public static String readSting()

{

String result = null;

try{

result = new BufferedReader(new InputStreamReader(System.in)).readLine();

} catch (Exception e)

{

System.out.println("Error: "+e);

}

return result;

}

}

class Menu

{

public static void paint()

{

clrscr();

for (int i = 0; i < 80; i++)

{

System.out.print('=');

}

System.out.println();

System.out.println("                             学生成绩管理系统                 ");

System.out.println();

System.out.println("               1 输入记录                       2 输出所有记录");

System.out.println("               3 按平均成绩排序并输出           4 查找记录");

System.out.println("               5 统计各分数段人数               6 删除记录");

System.out.println("               0 退出");

for (int i = 0; i < 80; i++)

{

System.out.print('=');

}

System.out.println("                                            Copyright (C) 2005 官成文 厦门大学");

System.out.println();

System.out.print("请输入命令:");

}

public static int action1()

{

while(true)

{

clrscr();

System.out.print("待输入记录的学号(输入“-1”退出):");

int number = Console.readInt();

if (number != -1)

{

System.out.print("  *姓名:");

String name = Console.readSting();

System.out.print("  *英语:");

int english = Console.readInt();

System.out.print("  *数学:");

int math = Console.readInt();

System.out.print("  *计算机:");

int computer = Console.readInt();

Student newData = new Student(number, name, english, math, computer);

if (StudentSet.addData(newData) == -1)

{

System.out.println("数据溢出!");

return -2;

}

} else

{

return -1;

}

}

}

public static void action2()

{

clrscr();

if (StudentSet.getLen() == 0)

{

System.out.println("没有记录!");

} else

{

System.out.println("         数学|英语|计算机|平均|总计");

for (int i = 0; i < StudentSet.getLen(); i++)

{

System.out.println("学号:"+StudentSet.getData(i).getNumber()+"  姓名:"+StudentSet.getData(i).getName());

System.out.println("      "+StudentSet.getData(i).getMath()+"    "+StudentSet.getData(i).getEnglish()+

"    "+StudentSet.getData(i).getComputer()+"    "+StudentSet.getData(i).getAverage()+"    "+StudentSet.getData(i).getTotal());

}

}

}

public static void action3()

{

StudentSet.sortData();

action2();

}

public static void action4()

{

clrscr();

System.out.print("请输入要查找记录的学号:");

int number = Console.readInt();

int i;

if ((i = StudentSet.search(number)) != -1)

{

clrscr();

System.out.println("         数学|英语|计算机|平均|总计");

System.out.println("学号:"+StudentSet.getData(i).getNumber()+"  姓名:"+StudentSet.getData(i).getName());

System.out.println("      "+StudentSet.getData(i).getMath()+"    "+StudentSet.getData(i).getEnglish()+

"    "+StudentSet.getData(i).getComputer()+"    "+StudentSet.getData(i).getAverage()+"    "+StudentSet.getData(i).getTotal());

} else

{

System.out.println("没有找到相应的记录!");

}

}

public static void action5()

{

clrscr();

System.out.println("90-100: "+StudentSet.stat(90, 100)+"人");

System.out.println("80-89: "+StudentSet.stat(80, 89)+"人");

System.out.println("70-79: "+StudentSet.stat(70, 79)+"人");

System.out.println("60-69: "+StudentSet.stat(60, 69)+"人");

System.out.println("0-59: "+StudentSet.stat(0, 59)+"人");

}

public static void action6()

{

while(true)

{

clrscr();

System.out.print("请输入要删除记录的学号(输入“-1”退出):");

int number = Console.readInt();

if (number != -1)

{

if(StudentSet.delete(number) == -1)

{

System.out.println("没有找到相应的记录!");

return;

} else

{

System.out.println("删除记录成功!");

}

} else

{

return;

}

}

}

public static void clrscr()

{ //temp functionSystem.out.println();    System.out.println();  }}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值