程序设计课程设计任务书级.docx
《程序设计课程设计任务书级.docx》由会员分享,可在线阅读,更多相关《程序设计课程设计任务书级.docx(10页珍藏版)》请在冰豆网上搜索。
程序设计课程设计任务书级
程序设计课程设计
任务书
班级:
学号:
姓名:
成绩:
电子与信息工程学院
计算机科学系
一、目的与要求
(一)设计目的
程序设计课程设计是计算机科学与技术专业和计算机科学与技术(计算机软件)专业学生修完《C/C++及面向对象程序设计》和《数据结构》课程后实践教学中重要的一环,其目的是巩固所学的C/C++语言以及面向对象程序设计知识,进一步掌握面向对象程序设计方法及各种编程技巧,从而培养学生面向对象的程序设计思想,加深对高级语言基本语言要素和控制结构的理解,针对数据结构中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
设计目的是加深对理论教学内容的理解和掌握,使学生交系统的掌握程序设计及其在实践中的广泛应用中的基本方法及技巧。
为学生综合运用所学知识,进行软件开发和实践应用方面打下一定基础。
(二)基本要求
●按照课程设计要求提交程序设计课程设计报告;
●完成规定系统的设计与开发;
●设计必须根据进度计划按期完成。
二、设计内容及安排
(一)课程设计报告的基本内容
1、概述
1)设计的任务和需要的知识点。
主要阐述所选题目的设计完成哪些任务,指出为完成这些任务都需要哪些知识点和技术。
2)具体完成的设计内容,主要叙述自己完成了哪几个功能模块,每个模块的规模,自己是否有创新点并添加了哪些其他有用的功能,如果有,进行简要说明。
2、总体设计
根据需求,阐述本软件系统的整体设计思路,确定软件系统的体系结构。
1)软件结构设计。
采用自顶向下、逐步细化的方法,将整个软件系统进行逐层分解,并画出该软件系统的总体模块结构图,即进行模块划分,并对主要功能模块进行简要说明。
2)数据结构设计。
主要叙述采用了哪些全局变量、数组、结构体、文件等,以及它们在系统中的作用。
(整个设计小组的概述和总体设计除个别地方外可以相同)
3、详细设计及实现。
主要叙述自己承担部分的那些模块的算法和数据结构,并给出程序调试和测试情况。
1)画出主要模块的算法流程图,配合运行界面抓图和文字说明进行描述。
这部分内容每个学生不得雷同,所占篇幅应最大。
2)叙述对自己设计的模块进行编译以及整个链接时所出现的各种错误,还有这些错误是如何解决的。
这部分内容每个学生不得雷同。
4、结论。
即说明自己设计的程序是否达到了设计题目的要求,功能是否完善,有何特点,有什么不足之处,有何建议和改善等
5、结束语。
即在设计过程中遇到了哪些困难,如何解决的,通过本次课程设计得到了哪些收货,写出心得体会等。
6、程序清单。
列出整个软件系统的程序清单。
程序清单要具有易读性。
7、参考文献。
列出本次课程设计的过程中所使用的参考文献,包括教材、参考书、论文等等。
(二)课程设计程序将完成的基本内容
(1)A类基本题(必做)
1、已知一个链表中存储了若干名学生的信息,每名学生的信息包括:
学号、英语成绩、数学成绩、计算机成绩。
现编写一个函数search(),要求对输入的无序学号进行排序,然后采用折半查找方法查找输入学生学号,并输出该学生各科成绩。
2、设计一个学生类(CStudent),它具有私有数据成员是:
学号、姓名、数学、外语和计算机课程的成绩。
要求能实现求三门课总成绩和平均成绩,并能设置和显示学生信息(类声明和成员函数定义分离)。
设计一个友元函数,按照成绩从高到低的顺序输出姓名、学号和成绩信息。
3、实现雇员管理,类Employee需存储雇员的姓名。
这种信息对于所有雇员(包括Employee的派生类的雇员)是很普遍的。
现在假设从雇员类Employee派生出了小时工类HourlyWorker、计件工类PieceWorker、老板类Boss和销售员类CommissionWorker。
小时工每周工作40小时,超过40小时部分的报酬是平时的1.5倍;计件工是按生产的工作件数计算报酬的,每件的报酬是固定的,假设他只生成一种类型的工件,因而类PieceWorker的private数据成员是生产的工件数量和每件的报酬;老板每周有固定的薪水;销售员每周有小部分固定的基本工资加上其每周销售额的固定百分比。
设计和规划该类体系,并分别产生每个基类及派生类对象,并显示该员工的工资。
4、约瑟夫生死者游戏
每30个旅客同乘一条船,因为严重超载,加上风高浪大,危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免遇难。
无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入大海中,然后再从他的下一个人数起,数到第9人,再将他扔进大海中,如此循环地进行,直到剩下15个乘客为止。
问哪些位置是将是被扔下大海的位置。
5、求二叉树上结点的路径
要求在采用链式存储结构存储的二叉树上,以bt指向根结点,p指向任一给定的结点,编程实现求出从根节点到给定结点之间的路径。
6、图的操作
(1)写出将一个无向图的邻接矩阵转换成邻接表的算法
1
2
3
5
4
(2)设计一个算法,判断无向图G是否连通。
若连通则返回1;返回0。
7、内部排序算法的性能分析
要求:
(1)对冒泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;
(2)待排序表的表长不小于100,表中数据随机产生,至少用5组不同数据作比较,比较指标有:
关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动);
(3)输出各种算法的排序结果和比较结果。
(二)B类综合题(小组选做一个,参加答辩)
1、文件操作
编程实现学生成绩管理,以文件形式存储学生的多门课程成绩,程序运行后至少给出下面菜单项的选择并分别实现其功能:
0、学生基本信息的建立(学号、姓名)1、大学英语成绩录入
2、大学物理成绩录入3、电子电路成绩录入
4、C语言程序设计成绩录入5、成绩统计
6、退出成绩录管理系统
(复习c语言文件操作)
2、通讯录管理系统
编程实现通讯录管理系统,要求该系统能够完成通讯信息的建立、查询、插入、删除等基本功能。
程序运行后至少给出下面7个菜单项的选择并分别实现其功能:
0、通讯录的建立1、通讯录信息输出
2、通讯者结点信息的删除3、通讯者结点信息的查询
4、通讯者结点信息的插入5、通讯录信息更改
6、退出通讯录管理系统
设计的任务要求,通讯录中每个学生的基本信息应包括姓名、地址、电话等基本信息,采用链表存储结构。
(复习c语言结构体和链表知识)
3、学生成绩管理系统
开发一个学生成绩管理系统,满足如下要求:
1)本系统应具有:
数据维护(包括数据录入、添加、修改、删除)、数据查询(可按学号、姓名等查询或者组合查询,且至少给出一种查询方式)、统计并输出、退出等功能。
2)有关信息应保存在文件中。
3)可增加其他有用的功能。
4、职工信息管理
设计要求实现如下功能:
1)建立职工的基本资料有工号、姓名、性别、出生日期、工资、参加工作时间
和年龄(必须计算得到)
2)根据职工信息表,建立只含有姓名和年龄的职工信息简表
3)使用继承的方法构造3个类,(即雇员类——虚基类,教师类和工人类——派生类)
使用相应的对象放置10个职工信息。
4)编写同名display()成员函数,用来输出数组的内容
5)要求对“<<”和“>>”运算符进行重载。
考虑到输入职工编号时,也会因不小心引入空格,而且名字中也需要有空格,所以重载“>>”运算符时,需要满足这个要求。
参考界面如下:
*******************************************
职工信息管理
*******************************************
*增加一位教师记录
*增加一位工人记录
*显示全部职工信息
*删除一个教师
*删除一个工人
*按姓名检索所以信息
*结束程序运行
5、交通咨询系统设计(最短路径问题)
设计一个交通咨询系统,能让旅客咨询从一个城市顶点到另一个城市顶点之间的最短路径(里程)或最低花费或最少时间等问题。
如下图所示的交通图:
求从顶点沈阳到其他各个城市的最短路径
9
b抚顺
a沈阳
c大连
d锦州
f葫芦岛
e鞍山
g营口
20
10
30
12
5
18
15
8
10
一个有向图
6、航班信息的查询与检索
要求对飞机航班信息进行排序和查找。
可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。
课采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行。
以下是航班信息表:
航班号
起点站
终点站
班期
起飞时间
到达时间
机型
票价
CA1544
合肥
北京
1,2,3,1
1055
1240
733
960
MU5341
上海
广州
每日
1430
1615
M90
1280
CZ3869
重庆
深圳
2,4,6
0855
1035
733
1010
MU3682
桂林
南京
2,3,4,6,7
2050
2215
M90
1380
HU1836
上海
北京
每日
0940
1120
738
1250
CZ3528
成都
厦门
1,3,4,57
1510
1650
CRJ
1160
MU4594
昆明
西安
1,3,5,6
1015
1140
328
1060
其中航班号一项的格式为:
K0
K1
K2
K3
K4
K5
C
Z
3
8
6
9
其中k0和k1的输入值是航空公司的别称,用两个大写字母表示,后4位是航班编号,这种航班编号关键字分为两段:
即字母和数字。
除了票价为数值型外,其他均定义为字符串型即可。
三、课程设计班级
计算机科学与技术14-1班
四、课程设计时间
2014年12月22日~2014年01月17日
五、课程设计报告及程序上交时间
2014年01月
六、考核方法及成绩评定
1.平时成绩占总成绩20%,若迟到(扣2分)、旷课(3分)将相应扣分,3次不到成绩为零分。
2.程序和答辩占总成绩50%,按各同学完成情况给分。
3.课程设计报告占总成绩30%,不得抄袭,否则总成绩按0分计。
七、指导教师
八、教师职责
对学生授课、考勤、辅导、考核完成情况。
报告内容:
一、设计任务与要求
1.设计任务
2.实验要求
二、需求分析
1.功能需求
2.运行需求
三、系统设计
1.总体方案设计
2.详细设计
四、运行结果及测试
1.运行界面及其效果图
2.对在编程与调试中的问题
五、课程设计总结与体会
六、参考资料
沁园春·雪
北国风光,千里冰封,万里雪飘。
望长城内外, 惟余莽莽; 大河上下, 顿失滔滔。
山舞银蛇,原驰蜡象,欲与天公试比高。
须晴日,看红装素裹, 分外妖娆。
江山如此多娇,引无数英雄竞折腰。
惜秦皇汉武, 略输文采; 唐宗宋祖, 稍逊风骚。
一代天骄, 成吉思汗, 只识弯弓射大雕。
俱往矣, 数风流人物,还看今朝。