指导老师:陈伟
一、简单的广东药学院教师管理系统(2人)
1.问题描述
对广东药学院教师进行管理,包括插入、删除、查找、排序等功能。
2.要求
教师对象包括姓名、性别、出生年月、工作年月、学历、职称、部门、住址、电话等信息。
(1)新增一名教师:将新增教师对象按姓名以字典方式教师管理文件中。
(2)删除一名教师:从教师管理文件中删除一名教师对象。
(3)查询:从教师管理文件中查询符合某些条件的教师。
(4)修改:检索某个教师对象,对其某些属性进行修改。
(5)排序:按某种需要对教师对象文件进行排序。
3.实现提示
教师对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入教师对象,以文件方式保存。程序执行时先将文件读入内存。
(2)对教师对象中的"姓名"按字典顺序进行排序。
(3)对排序后的教师对象进行增、删、查询、修改、排序等操作。
4.选做内容
将教师对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。
二、全国铁路运输网最佳经由问题(2人)
1.问题描述
这是目前仍在使用的行包托运软件中的一部分内部算法。该题目采用1995年年底我国铁路运输网的真实数据进行编程和运行验证。
铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。
铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B客货运通行)。
火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。
2.要求
(1) 查询某站所属的铁路线
(2) 要求具备新增铁路线的管理功能
(3) 要求具备新增车站的管理功能
(4) 针对客运,货运情况能计算任何一个起始车站到任何一个终点站之间的最短路径。并且要求能够显示出该最短路径的各个火车站的经由顺序
3.实现提示
采用图的方式进行数据存储
三、教学计划编制问题(2人)
[问题描述]
大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。
[基本要求]
(1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。
(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。
(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。
[测试数据]
学期总数:6;学分上限:10;该专业共开设12门课,课程号从C01到C12,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3。先修关系如下:
课程编号 | 课程名称 | 先决条件 |
C1 | 程序设计基础 | 无 |
C2 | 离散数学 | C1 |
C3 | 数据结构 | C1,C2 |
C4 | 汇编语言 | C1 |
C5 | 语言的设计和分析 | C3,C4 |
C6 | 计算机原理 | C11 |
C7 | 编译原理 | C5,C3 |
C8 | 操作系统 | C3,C6 |
C9 | 高等数学 | 无 |
C10 | 线性代数 | C9 |
C11 | 普通物理 | C9 |
C12 | 数值分析 | C9,C10,C1 |
[实现提示]
可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立内部课程序号与课程号之间的对应关系。
四、依赖问题(2人)
[问题描述]
某公司使用多个软件,软件之间存在传递依赖关系,比如A软件必须B软件和C软件启动才能正常使用,B软件启动需要D软件启动。现需要将其所有软件依赖关系表示出来。
[基本要求]
(1)软件对象:软件名称,编号,软件所依赖的软件。
(2)需要实现新增一个软件结点
(3)删除一个软件结点(判断有无依赖关系再做出删除动作)
(4) 查询(依赖某软件的软件,某软件所依赖的软件,支持多层依赖查询)
[测试数据]
自行编写,尽可能复杂
[实现提示]
采用有向图的方式进行数据存储。
五、广州大学城公共交通查询问题(2人)
[问题描述]
将进出广州大学城所有线路进行列出,并能进行新增、删除、查询站点和线路。
[基本要求]
(1)站点对象
(2)线路对象
(3)能够增加、删除站点和线路
(4) 查询(起点、起止点(提供最优决策:最快到达)和线路三种查询)
。
[测试数据]
自行编写,尽可能复杂
[实现提示]
采用有向图的方式进行数据存储。
六、试设计一个航空客运定票系统。基本要求如下:
1、 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。
2、 系统能实现的操作和功能如下:
1) 查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
2) 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;
3) 承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
3、 实现提示:两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。