数据结构课程设计——计设赛事管理系统

预习报告

        任务:完成User类的创建,添加参赛信息等属性,通过User类实现用户登录系统和添加新用户,将已有的team.txt的数据进行整理,并实现读取和写入功能,通过登录类(Log)、注册类(Reg)来实现登录和注册功能

        1.实现文件的读取功能,作品使用commons.io来实现,通过在依赖项中添加依赖:

<dependencies>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.10.0</version>
    </dependency>
</dependencies>

 通过FileUtils.readFileToString函数读取,编码使用UTF-8,例如读取txt中文件,

测试结果如下:

         2.通过文件流来对team.txt 文件进行添加删除和修改。使用的FileOutputStream,通过OutputStreamWriter和BufferedWriter实现写入。代码如下:

BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(usersFile, true), "utf-8"));//userFile是自己定义的File对象,这里用的编码是UTF-8.
bufferedWriter.newLine(); //别忘了换行后再写入
bufferedWriter.write(newString);//newString是写入的字符串。
bufferedWriter.close();

这里的写入有个问题,就是不能动txt文件,否则就会写入到鼠标指定的下一行,会报错。

        3.创建User类,通过User类调用参赛队编号#参赛作品名称#参赛学校#赛事类别#参赛者#指导教师信息。

        4.通过二叉树来存储User对象,利用参赛编号构造二叉排序树,并通过二叉树来进行查找参赛队伍的信息。最后计算二叉排序树的ASL(平均查找长度)。

        5.根据提供的学校名称来得到该学校所有参赛队伍的信息。

        6.叫号系统,计设比赛总共分为九个大类分别进行比赛,该系统模拟比赛的叫号,通知每一组进行进场,并给出每一组队伍的比赛时间,按顺序进出赛场。

        7.导航系统,地图如下:

图为江科大长山校区地图 

换为带权值的无向图,如下图:

        通过上图模拟导航系统,通过输入1-10的编号,得到最短路径和路径长度。本次用的是Floyd算法进行最短路径的查找 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值