赛事管理系统

  • 问题定义

管理各参赛队的基本信息

  • 问题分析

【问题描述】

  本次课程设计要求协助中国大学生计算机设计大赛江苏省组委会,设计一款赛事管理系统,实现赛务相关的数据管理及信息服务,该系统能够为省级赛事管理解决以下问题:

(1)能够管理各参赛队的基本信息(包含参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师),赛事类别共11项(参见大赛官网jsjds.blcu.edu.cn);包括增加、删除、修改参赛队伍的信息。

(2)从team.txt中读取参赛队伍的基本信息,实现基于二叉排序树的查找。根据提示输入参赛队编号,若查找成功,输出该赛事类别对应的基本信息(参赛作品名称、参赛学校、赛事类别、参赛者和指导老师信息),同时,输出查找成功时的平均查找长度ASL;否则,输出“查找失败!”。

  • 概要设计

数据结构设计:

结点信息的数据结构:类——EveMaSystem用于存储各参赛队的基本信息,如参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师,该类还提供了相应的settergetter

(1)创建存储各参赛信息的EveMaSystem类


public class EveMaSystem {
    private String ID;
    private String work;
    private String school;
    private String type;
    private String competitor;
    private String teacher;

    public EveMaSystem(String ID, String work, String school, String type, String competitor, String teacher) {
        this.ID = ID;
        this.work = work;
        this.school = school;
        this.type = type;
        this.competitor = competitor;
        this.teacher = teacher;
    }

(2)team.txt文档的读取

 private static void Find() throws IOException {
       
        String filePath = "team.txt";
        BufferedReader buf = new BufferedReader(new FileReader(filePath));
        String line;
        //按行读取文件,当返回null表示文件读取完毕
        while ((line = buf.readLine()) != null) {
            System.out.println(line);
        }
        //关闭流(本身应该关闭FileReader 但是实际上只需要关闭BufferedReader)
        buf.close();//底层会自动关闭节点流
    }

(3)在文档中添加信息

 private static void Add()  {
        EveMaSystem eveMaSystem = new EveMaSystem();
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入参赛队编号:");
        String ID = sc.next();
        eveMaSystem.setID(ID);

        System.out.println("请输入参赛作品名称:");
        String work = sc.next();
        eveMaSystem.setWork(work);

        System.out.println("请输入参赛学校:");
        String school = sc.next();
        eveMaSystem.setSchool(school);

        System.out.println("请输入赛事类别:");
        String type = sc.next();
        eveMaSystem.setType(type);

        System.out.println("请输入参赛者:");
        String competitor = sc.next();
        eveMaSystem.setCompetitor(competitor);

        System.out.println("请输入指导老师:");
        String teacher = sc.next();
        eveMaSystem.setTeacher(teacher);

        try {
            // 创建一个文件对象
            File file = new File("team.txt");

            // 创建文件输出流
            FileOutputStream fos = new FileOutputStream(file);

            //创建对象输入流
            ObjectOutputStream oos = new ObjectOutputStream(fos);


            oos.writeObject(eveMaSystem);

            // 关闭输出流
            oos.close();
            fos.close();

            System.out.println("数据写入成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值