Skip to content

aliveriver/java_work

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

高考志愿填报管理系统

要求实现学生平行志愿填报管理系统。高考有若干所大学,若干名学生;每个大学包含若干个院系,每个院系提供至少3个专业可供报考, 学生可选是否同意调剂专业;每名学生可以报10个大学,每个大学下可以选报3个专业。实现学生基本信息(含学生基本信息和班级信息)管理、 大学院系管理(每个学生学习多门兴趣课,参照学生志愿来进行分配学校)。分配完成后,能够根据学校查找已经录取的学生,根据学生查找所录取的学校和专业课程。

大学录取的平行志愿分配

大学录取的平行志愿分配是这里最复杂的地方。

什么是平行志愿?

这里引用百度百科的答案作为解释: 平行志愿是指高考志愿的一种新的投档录取模式,即一个志愿中包含若干所平行的院校。是指考生在填报高考志愿时,可在指定的批次同时填报若干个平行院校志愿。录取时,按照 “分数优先,遵循志愿” 的原则进行投档,对同一科类分数线上未被录取的考生按总分从高到低排序进行一次性投档,即所有考生排一个队列,高分者优先投档。每个考生投档时,根据考生所填报的院校顺序,投档到排序在前且有计划余额的院校。 比方说,我有ABCD四个平行志愿。在录取时,按照A--B--C--D的检索顺序,如果我能够达到A的分数线,则不再查看B,C,D的情况。

那么对于录取方向上的算法呢?

这个录取过程可以分为两个阶段:

  1. 分数达到专业分数线,预录取(所有专业的学生预录取数量应小于院系期望数量,如果达到则该院系不再接收学生的申请),其他的志愿不再查看。
  2. 判断该专业人数是否超过预期,超过则调剂;否则则正式录取。 调剂应满足如下条件:
  3. 必须是该院系下的其他未满专业;
  4. 调剂应选择该专业下的分数的最后几名来调剂。
  5. 该学生应服从调剂。否则滑档。
  6. 调剂过程可能需要多轮进行,直到所有专业人数达到预期或无法再调剂为止。
  7. 总之就是这样

关于major,university,departments,EnrollmentMark

university就是那样啦。 department是单独存在的。比如,物理学院、哲学院。这个表格本身并不太具有意义。它是用来作为major和enrollmentMark的参考表格而存在的。 major基于department存在。每个院系下至少有3个专业。在这里其实我规定了,每个院系下的专业是固定的。比如,软件学院只会有软件工程和网络工程,这件事对于所有的大学是普适的。 但是,每个大学的每个院系开展的专业仍然可以不同。这个不同取决于每个大学可以选取院系下专业的子集。 在这个系统中,EnrollmentMark是个很重要的表格。它不仅规定了大学的院系的各个专业的分数线,专业录取人数,院系录取人数,还变相地展示了这个大学的所有开展的院系和专业信息。

关于系统

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages