2013 年暑假项目实训-2012 级题目
题目:《SISE 高考预录数据信息管理系统》
2012 年华软学院高考招生录取开始,招生办 6 月 20 日得到第一批学生成绩明细
表文件格式如下:
表一
该汇总表共有学生 25 人,由于缺少总分计算需要将汇总表里的每个学生考试成
绩进行总分计算;6 月 27 日学院又获得第二批学生成绩明细表文件,格式同上
述一样,第二批学生人数为 30 人,现在需要将两份文件学生按照总分大小从高
分到低分排序,并且写入下列文件 student.txt 中:
表二
由于软件工程专业对英语要求很高,希望从上述汇总文件 student.txt 中挑选出英
语超过 100 分且总分成绩超过 300 分的学生名单按照英语成绩由低分到高分排
序,写入文件 English.txt 中。文件内容格式不变。
第二部分
由于输入的文件太多,现在招生办委托并设计一个高考成绩输入系统,输入格式:
考号 姓名 语文 数学 英语
通过命令行输入,当用户输入 Ctrl+C 结束输入(可以用图形用户界面来实现)。
所输入的数据写到 student.txt 文件中,对 student 内文件数据按照总分由高到低重
新排序。当用户输入任一考号,查出该学生的考试信息及总分成绩。
注意:用户可以一次性输入多个学生成绩。
第三部分:
高考的学生分为文、理、艺术类三种考生,每一考生的学生信息除了考号、中文
姓名以外,还包括生源地区,性别,年龄,中学名称等等信息;每一考生的考试
信息除了语文、数学、英语以外,若为艺术生,增加一门美术科目考试;若为文
科生,增加两门考试科目:历史和地理;若为理科生,增加一门考试科目物理。
将 student 文件中的信息按照下列要求补充完整:
1 按照生源地区分类显示;(如:深圳、广州、汕头、等等)
2 同时按照考生类型(文、理、艺术)分类显示;
3 同时每一分类按照总分由高分到低分排列。
4 完整显示每一考生的学生信息和考试信息:
最后 Student 文件格式显示如下:
深圳地区:
文科
考号 姓名 年龄 性别 中学名称 语文 数学 英语 历史 地理 总分
。。。
理科
考号 姓名 年龄 性别 中学名称 语文 数学 英语 物理 总分
。。。
艺术
考号 姓名 年龄 性别 中学名称 语文 数学 英语 美术 总分
广州地区:
文科
考号 姓名 年龄 性别 中学名称 语文 数学 英语 历史 地理 总分
。。。
理科
考号 姓名 年龄 性别 中学名称 语文 数学 英语 物理 总分
。。。
艺术
考号 姓名 年龄 性别 中学名称 语文 数学 英语 美术 总分
第四部分
在命令行中增加下列输入查询功能帮助用户从文件 student 中查询想要的结果:
规定:
所有地区用大写字母:“P”表示;
考生类型(文科、理科、艺术)用大写字母:“Q”表示
考生信息(考号、姓名、年龄)用大写字母:“S”表示;
考试信息(各个考试科目及总分)用大写字母:“T”表示;
“+”表示同时选择所有信息;
“-”表示排除某些选项信息不能显示;
“%”表示以某一科目的成绩或总分成绩按高分到低分排序;
“(,)”表示当有同一类多项信息同时选择,用逗号分隔,括号括起来。
我们看以下几个查询命令例子:
1. 查询除深圳地区以外所有地区的考生信息及考试信息,按照总分排序;
P+Q+S+T-P(深圳)%T(总分)
2. 查询深圳和广州两个地区文科考生信息及英语、语文、数学的成绩,按照英
语成绩排序;
P(深圳,广州)+Q(文科)+S+T(英语,语文,数学)%T(英语)
或
P(深圳,广州)-Q(理科,艺术)+S-T(历史,地理)%T(英语)
第五部分
华软学院招生办根据 2012 年招生情况,设定理科、文科、艺术的分数线。(假设
目前所有数据在 student.txt 中)
在命令行中设定以下功能:
如下:
设定 2012 年高考分数线:
1)理科 2)文科 3)艺术
请用户输入:2
2012 年文科录取分数线:502
画出各个地区文科上线的人数分布直方图:
4)退出
要求:
1. 可以不采用图形化界面,命令行输出即可;
2. 学生数据记录名单自拟;
3. 代码要有注释;
4. 该项目由多个文件组成,不能全写在一个主文件中;
5. 12 级学生项目实训实行分组制,每组最多 5 人,可以自由分组。