第一次课设完成后的闲谈——学生宿舍管理系统

先吐槽一下由于自己的愚蠢。。。很多重复代码copy的没有改变量导致了很多错误。一个星期(准确来说五天)就做了这么简单的一个项目。没错你没看错就是做了这么长时间!!!各位看客,有的不要再和我一样;没有的就看看,笑笑就好。

接下来和大家分享一下做这个项目的过程中的一些思路和收获也为自己以后mark一下。

先贴一下题目要求


【题目】学生宿舍管理系统                                                                                                               

考查点:线性结构、文件操作

注意:必须使用文件存储数据,不得使用数据库管理系统。

任务:通过此系统可以实现如下功能:
录入

可以录入宿舍情况,包括宿舍号、可容纳学生数、已容纳学生数、男生/女生宿舍等信息;

可以录入学生住宿情况,包括学号、姓名、性别、宿舍号等信息。

其他信息可以自行设计。

分配宿舍:为每一个学生分配入一个未住满的宿舍。能否提供一个智能分配算法?推荐选择?批量分配?鼓励创新。

调换宿舍:实现一个学生调换宿舍操作以及两个同性学生互换宿舍操作。 

学生毕业退宿:删除学生信息,修改其所住宿舍信息。

查询

按学号\姓名查询:输出学生信息、所在寝室信息、室友,考虑学生同名情况;

按房号查询:输出该寝室所有住宿学生信息。  


看到题目的时候感觉应该还比较好做,结构肯定是链表,其他大多都遍历,一些基本的增删改查,唯一的难点就是智能分配算法。

然后我就以自己想怎样选室友的想法(志同道合的朋友)简化了一下来作为这个个“智能分配算法”,因为太难的我的水平也还不够实现太困难。。。

首先画个大纲:




然后就复习了一下文件的基本操作,捡了点MFC的知识(暑期学了点之后就没碰过)就开始了我的课设之路。。。

1.主要界面是最开始的登录界面和一个学生登录后界面和管理员的管理界面(整个系统的框架)。个人觉得学生的信息应该学生自己去处理,管理员去处理一些更高权限和比较隐私的信息。


2.接下来就是在框架下的一些细节工作和延伸出来的功能。其实就是这样一个小小的课设,如果想要做的好其实还是有很多方面需要改善和完善的。(我很懒就在完成要求的基础上设计了一下自己觉得必要的功能和可视化界面)

3.功能实现过程中的调试。。。这个过程非常漫长,但是我觉得1.过程打印变量值 2.单步调试看内存泄露问题的方法都很好的帮助我缩短了调试时间。当然其中也很多逻辑上的问题,大家应该也知道逻辑上的问题是最难调试的。当然程序的健壮性也需要考虑。

4.完成课设后看了一些关于设计项目的时候的一些方法的书,讲到了机制和策略要分离(方便以后的扩展),虽然我可能还是不能很好的理解这个观点,但是我相信随着以后的积累这方面应该会慢慢理解。还有自底向上自顶向下的设计方式。



                                                              

————————————————————————————

续:老师验收后的建议   

1.查找的优化->模糊查找(如查询所有姓王的同学信息)

2.I/O优化->不要每次操作都直接对文本进行操作,在点击保存之后再对I/O进行操作。

3.对管理员的权限不要限制太多->不要对学生给的太多或者给管理员的功能再扩充。

4.在调换等信息变换后,可视化界面最好能够直接显示是哪两个学生交换了信息,减轻管理员查找的麻烦。

5.在导入信息的时候,可不可以只要部分导入,否则当数据过大的时候,导入速度会很慢。


- - 老师验收后没想到对自己博客还能进行一些修改,现在才过来修改,很多都忘记了,说了几个记忆比较深刻的点,不知道是自己太年轻还是想的太少,不得不说这些点我真没思考过,不知道各位看客有没有思考过,po出来大家一起学习一起改进~


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值