数据结构刘大有答案
【篇一:17-综合测评成绩管理系统】
学与技术系
课程设计任务书
2010~2011学年第二学期
课
专
指业导班教程 c语言课程设计 级 10级计本《三》班 师何立新 高玲玲 课程设计名称 综合测评成绩管理系统
2011年6月
一、 课程设计目的
《面向过程程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向过程程序设计(c语言)为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该
得到锻炼:
(1)进一步巩固、加深学生所学专业课程《面向过程程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用c语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握面向对象的程序设计方法。
(6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。
二、 课程设计名称及内容
课程设计名称:综合测评成绩管理系统
设计内容:结合我校综合测评管理办法,设计一个综合测评成绩管理统,使得综合测评过程的电子化管理,高效快速的计算年度测评成绩,公正的给出奖学金的评定等级。成绩的录入和修改,最终测评成绩的加权计算,奖学金等级的评定,形成按照综合测评成绩排序的备份文档。
三、任务和要求
运用面向过程的程序设计方法,要求选择动态数组或链表,任务中要对磁盘文件进行读写操作。
本题程序应提供的基本基本管理功能有:
1) 添加:即增加一个人的记录到系统中。个人记录应包含各门课成绩、担任职务,
电话号码、邮政编码等。
2) 显示:即在屏幕上显示所有该评定系统中的人员信息,应能分屏显示。
3) 存储:即将通讯录信息保存在一个文件中。
4) 装入:即将文件中的信息读入程序。
5) 查询:可根据姓名查找某人的相关信息,若找到显示其所有相关信息。
6)修改:可修改一个人的除姓名外其它信息。
测试数据
程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。
四、设计方案提示
创建人员结构体cperson,每个人员的应包含的数据有各门课成绩,职务,电话号码
和邮政编码等,功能函数可以根据规定计算最终综合成绩。用一个单向链表来管理人员信息,通过链表的遍历可以操作这些数据。最终通过排序,统计出获得奖学金人员。
五、 主要知识点
面向过程程序设计方法; 界面制作,switch的应用; 算法的设计; 动态数组(链表)的应用; 文件的读写。
六、 其他
程序设计可在turbo c、vc++、c++ builder环境下进行。
七、 参考资料
[1] 黄明等编著《c语言课程设计》北京:电子工业出版社
[2] 郭翠英编著《c语言课程设计案例精编》北京:中国水利水电出版社
[3] 宁正元《数据结构(c语言)》 南京:东南大学出版社。2000年6月第1版
[4] 严蔚敏等 《数据结构(c语言版)》 北京:清华大学出版社,1997年4月第1版
[5] 谭浩强编著《c程序设计题解与上机指导(第3版) 》北京:清华大学出版社
[6] 谭浩强编著《c程序设计(第3版) 》北京:清华大学出版社
[7] 洪国胜 等编著 《c++ builder程序设计轻松上手》北京:清华大学出版社
[8] 宁正元《数据结构(c语言)》 南京:东南大学出版社。2000年6月第1版
[9] 严蔚敏等 《数据结构(c语言版)》 北京:清华大学出版社,1997年4月第1版。
[10] 明日科技 编著《visual c++程序开发范例宝典》北京:人民邮电出版社。
[11] 胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年 第1版。
[12] 刘大有《数据结构》(面向21世纪课程教材) 北京:高等教育出版社。2001年6月第1版。
[8].胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年 第1版。
【篇二:数据结构课程设计学生分配】
需求分析........................................................................................ 1
1.1 设计内容................................................................................................. 1
1.2 需求分析................................................................................................. 1
2概要设计及各个子模块函数............................................................................. 1
2.1总体结构设计.......................................................................................... 1
2.2 各子函数的介绍..................................................................................... 2
2.3本程序包含的三个模块.......................................................................... 3
3各子模块设计及流程图..................................................................................... 4
3.1主函数调用关系图.................................................................................. 4
3.2初始化示意.............................................................................................. 5
3.3每曲配对函数调用关系图void display(int,int) ..................................... 6
3.4第k曲配对函数调用图void charge(int,int) .......................................... 7
3.5队满判断bool isfull() ............................................................................ 8
3.6对空判断原则bool isempty() ................................................................ 8
3.7入队流程void push(t info) .................................................................... 8
3.8出队流程void pop(t info) ................................................................... 9
3.9取队首元素代码void gethead(t info) ............................................... 9
4 测试结果及其分析............................................................................................ 9
5小结................................................................................................................... 12
参考文献.............................................................................................................. 13
附录:程序源代码.............................................................................................. 14
1 设计内容和需求分析
1.1 设计内容
一班有m个女生,有n个男生(m不等于n),现要开一个舞会. 男女生分别编号
坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,
本曲没成功配对者坐着等待下一曲找舞伴.
请设计一系统模拟动态地显示出上述过程,要求如下:
(1) 输出每曲配对情况
(2)计算出任何一个男生(编号为x)和任意女生(编号为y),在第k曲配对
跳舞的 情况.至少求出k的两个值
1.2 需求分析
本课题要对数目不等的男生女生跳舞进行搭配,设计需要解决每一首曲子 男生女生的搭配情况,要采用循环队列的模式来解决,男生和女生各在两个循环
的队列中,每首曲子开始,便在两个队首各取一人成功配对跳舞,并进入队尾,
等待下一次配对。
例如:(4男5女情况)
第一首:男1和女1
第二首:男2和女2
.........
第五首:男1和女5
2概要设计及各个子模块函数
2.1总体结构设计
为实现上述功能和目的,要用到循环队列的相关知识,同时,要定义一定的
抽的数据类型,主函数调用各个函数模块。队列(queue)是只允许在一端进行
插入,而在另一端进行删除的运算受限的线性表。
循环队列是在队列的顺序存储结构中,除了用两组地址连续的存储单元依次存放从队列头到队列尾的元素外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。
循环队列(两个),将男生、女生两组人分别存放,以实现循环配对输出。循环队列的入队,出队,判队满,判队空。
2.2 各子函数的介绍
(1)class cirularqueue
作用:定义一个循环队列
(2)cirularqueue()
作用:使对象在撤销时释放
(3)bool isfull()
作用:判断队列是否已满
(4)bool isempty()
作用:判断队列是否为空,用于出队列前使用
(5)void push(t info)
作用:入队。每对舞伴跳完舞之后,做入队处理,到达队尾,等待下次跳舞。
(6)void pop(t info)
作用:出队。每取曲子响起时男生队列和女生队列作出队处理,两人跳舞。
(7)void gethead(t info)
作用:取队首元素,对出队的男女进行识别。
(8)void initqueue(cirularqueueint,int);
作用:初始化队列
(9)void display(int,int);
作用:根据男生和女生的人数和曲目的数目,来判断每曲歌的男女配对情况
(10)void charge(int,int);
作用:判断指定组合能否配对成功
2.3本程序包含的三个模块
(1)、主程序模块:
void main()
{
初始化;
do{
接受命令;
处理命令;
}
while(“命令”=”退出”)
}
(2)、集合单元模块——实现集合的各个函数模块
(3)、结点结构单元模块——定义集合的结点结构
【篇三:数据结构—学生学籍档案管理】
程设计(论文)
题 目:学生学籍管理系统 学生姓名: 缪胜 学 号:201310801022 所在院(系):数学与计算机学院 专 业:计算机科学与技术 班 级: 2013级计算机科学与技术 指 导 教 师:职称:
年 月 日 攀枝花学院教务处制
攀枝花学院本科学生课程设计任务书
注:任务书由指导教师填写。
课程设计(论文)指导教师成绩评定表
摘 要
用c/c++语言设计出模拟学生学籍管理系统,实现对学生档案基本信息表进行管理。
(一)功能要求:(1) 建立学生档案、 (2) 插入学生信息、(3)查找学生信息、(4)修改学生信息、(5)删除学生信息。 (二)其它要求:
(1) 只能使用c/c++语言,源程序要有适当的注释,使程序容易阅读; (2) 建议使用结构和链表等数据结构; (3) 学生可自动增加新功能模块;
(4) 写出课程设计报告,具体要求见相关说明文档。
计算机来管理学校的信息,是非常必要的。
关键词 学生档案,链表,需求
1 课程设计题目描述和要求
1.1 问题提出及功能要求
设计出学生学籍档案管理系统,实现对学生信息的管理。 一.功能要求:
查看功能:选择此功能时输入某个学生的学号,然后在链表中匹配进行查询。 插入功能:选择此功能时依次输入学号,姓名,性别,年龄,并自动排序 修改功能:选择此功能时,可对此人的相应数据进行修改
删除功能:选择此功能时,可对此人的相应数据进行删除,并自动对剩下的学生信息进行排序。 二.其它要求:
使用c/c++语言,源程序要有适当的注释,使程序容易阅读 建议使用结构和链表等数据结构
学生可自动增加新功能模块(视情况可另外加分) 写出课程设计报告,具体要求见相关说明文档。
因篇幅问题不能全部显示,请点此查看更多更全内容