在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。 ? 编程提示:
1、 输入参数应包括:学期总数,一学期的学分上限,每门课的课程号(可以是固定占
3位的字母数字串)、学分和直接先修课的课程号。
2、 应允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均
匀;二是使课程尽可能地集中在前几个学期中。
3、 若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定
的文件中。计划的表格格式可以自己设计。
4、 可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业
开设的课程序列中,则作为错误处理。
题目18 电视大赛观众投票及排名系统(排序应用)
? 问题描述:
在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选
手进行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚军和季军。现在要求编写一程序模拟实现上述系统的功能。 ? 编程提示:
在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来开辟存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单元中,观众通过按键进行投票,按’1’为1号选手投票,按’2’为2号选手投票,以此类推,以按’0’作为投票结束标志。投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名次也相同, (1)存储类型的定义
参赛选手信息存储类型的定义: typedef struct node{
char name[8]; /*选手姓名*/ int num; /*选手编号*/ int score; /*选手得分*/ int tax; /*选手名次*/
}Node;
题目19药店的药品销售统计系统(排序应用)
? 问题描述:
设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。 ? 编程提示:
在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。 药品信息的元素类型定义: typedef struct node
{ char num[4]; /*药品编号*/ char name[10]; /*药品名称*/ float price; /*药品单价*/ int count; /*销售数量*/ float sale; /*本药品销售额*/ }DataType;
存储药品信息的顺序表的定义: typedef struct
{ DataType r[MaxSize]; int length; }SequenList;
题目20通信录查询系统(查找应用)
? 问题描述:
设计散列表实现通讯录查找系统。
(1) 设每个记录有下列数据项:电话号码、用户名、地址;
(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表; (3) 采用二次探测再散列法解决冲突; (4) 查找并显示给定电话号码的记录; (5) 通讯录信息文件保存;
(6) 要求人机界面友好,使用图形化界面; ? 编程提示:
主函数:根据选单的选项调用各函数,并完成相应的功能。 Menu()的功能:显示英文提示选单。 Quit()的功能:退出选单。 Create()的功能:创建新的通讯录。
Append()的功能:在通讯录的末尾写入新的信息,并返回选单。
Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。
Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
List()的功能:显示通讯录中的所有记录。
Save()的功能:保存通讯录中的所有记录到指定文件中。 Load()的功能:从指定文件中读取通讯录中的记录。
六、课程设计考核方式
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;
良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;
中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确; 及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;
不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。 提交的电子文档和软件必须是由学生自己独立完成,发现相同题目文档雷同者,教师有权视其情况扣分或记零分。
七、提交的资料
课程设计报告,按照学号后三位+姓名且组长在第一个的文件名保存。如:101张三103李四109王五.doc,其中,李四必须比王五完成的任务要多,顺序与成绩有关系。
? 具体格式要求,必须严格做到,作为评分重要依据
一级标题:四号、加粗、黑体
二级标题:小四号、加粗、宋体
正文:五号、宋体
图、表内文字:小五号、宋体
代码:放在单行单列的一个表格内,小五号、Time New Roman,单倍行距。
#include
? 报告结构,正文内容不超过15页
1. 封面(见后面的附录,必须保持整洁) 2. 目录(自动生成,不能手动输入)
3. 具体任务安排(分5个半天写,每个半天谁做了什么工作) 如:
工作进度表 时间 周一上午 完成工作 完成课程设计的需求分析 组员分工
2012XXXX 张三(组长) 2012XXXX 李四 2012XXXX 王五 1、编写课程设计报告和心1、 设计并编写界面部分代码; 1、 和队友共同讨论并优化
完成人 张三、李四 2、 编写课程设计报告和心得体会; 3、 算法分析与设计 4. 软件开发环境 5. 算法设计思想及流程图
算法; 2、 画算法的程序流程图; 3、测试 得体会; 2、编写代码 6. 源代码(注:每行代码必须加注释,) 7. 运行结果
8. 收获及体会(每人必须写) 9. 参考文献
如:
[1] 严蔚敏,李冬梅,吴伟民.数据结构(C语言版)[M].北京:人民邮电出版社,2011.02.