程序设计课程设计任务书._第1页
程序设计课程设计任务书._第2页
程序设计课程设计任务书._第3页
程序设计课程设计任务书._第4页
程序设计课程设计任务书._第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计课程任 务 书 班 级: 学 号: 姓 名: 成 绩: 电子与信息工程学院计算机科学系一、目的与要求(一)设计目的程序设计课程设计是计算机科学与技术专业和计算机科学与技术(计算机软件)专业学生修完C/C+及面向对象程序设计和数据结构课程后实践教学中重要的一环,其目的是巩固所学的C/C+语言以及面向对象程序设计知识,进一步掌握面向对象程序设计方法及各种编程技巧,从而培养学生面向对象的程序设计思想,加深对高级语言基本语言要素和控制结构的理解,针对数据结构中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。设计目的是加深对理论教学内容的理解和掌握,使学生

2、交系统的掌握程序设计及其在实践中的广泛应用中的基本方法及技巧。为学生综合运用所学知识,进行软件开发和实践应用方面打下一定基础。(二)基本要求l 按照课程设计要求提交程序设计课程设计报告;l 完成规定系统的设计与开发;l 设计必须根据进度计划按期完成。二、设计内容及安排(一)课程设计报告的基本内容1、概述1)设计的任务和需要的知识点。主要阐述所选题目的设计完成哪些任务,指出为完成这些任务都需要哪些知识点和技术。2)具体完成的设计内容,主要叙述自己完成了哪几个功能模块,每个模块的规模,自己是否有创新点并添加了哪些其他有用的功能,如果有,进行简要说明。2、总体设计根据需求,阐述本软件系统的整体设计思

3、路,确定软件系统的体系结构。1)软件结构设计。采用自顶向下、逐步细化的方法,将整个软件系统进行逐层分解,并画出该软件系统的总体模块结构图,即进行模块划分,并对主要功能模块进行简要说明。2)数据结构设计。主要叙述采用了哪些全局变量、数组、结构体、文件等,以及它们在系统中的作用。(整个设计小组的概述和总体设计除个别地方外可以相同)3、详细设计及实现。主要叙述自己承担部分的那些模块的算法和数据结构,并给出程序调试和测试情况。1)画出主要模块的算法流程图,配合运行界面抓图和文字说明进行描述。这部分内容每个学生不得雷同,所占篇幅应最大。2)叙述对自己设计的模块进行编译以及整个链接时所出现的各种错误,还有

4、这些错误是如何解决的。这部分内容每个学生不得雷同。4、结论。即说明自己设计的程序是否达到了设计题目的要求,功能是否完善,有何特点,有什么不足之处,有何建议和改善等5、结束语。即在设计过程中遇到了哪些困难,如何解决的,通过本次课程设计得到了哪些收获,写出心得体会等。6、程序清单。列出整个软件系统的程序清单。程序清单要具有易读性。7、参考文献。列出本次课程设计的过程中所使用的参考文献,包括教材、参考书、论文等等。(二)课程设计程序将完成的基本内容 (1)A类基本题(必做)题目1、某班有最多不超过30人,每名学生的信息包括:学号、姓名、英语成绩、数学成绩、计算机成绩。编程实现如下学生成绩管理系统。系

5、统各模块的功能说明如下:模块1:密码验证模块:主要实现登陆密码的验证工作。系统初始密码为123456。 模块2:录入每个学生的基本信息模块3:计算每个学生的的总分和平均分模块4:按考生成绩由高到低排出名次表模块5:按学号由小到大排出成绩表模块6:按学号查询学生排名及其考生成绩模块7:按优秀(90100)、良好(8089)、中等(7079)、及格(6069)、不及格(059) 5个类别,统计每个类别的学生人数以及所占百分比。模块8:输出每个学生的学号、考生成绩、课程总分和平均分模块9:退出系统 题目2、实现雇员管理,类Employee需存储雇员的姓名。这种信息对于所有雇员(包括Employee的

6、派生类的雇员)是很普遍的。现在假设从雇员类Employee派生出了小时工类HourlyWorker、计件工类PieceWorker、老板类Boss和销售员类CommissionWorker。小时工每周工作40小时,超过40小时部分的报酬是平时的15倍;计件工是按生产的工作件数计算报酬的,每件的报酬是固定的,假设他只生成一种类型的工件,因而类PieceWorker的private数据成员是生产的工件数量和每件的报酬;老板每周有固定的薪水;销售员每周有小部分固定的基本工资加上其每周销售额的固定百分比。设计和规划该类体系,并分别产生每个基类及派生类对象,并显示该员工的工资。3、职工信息管理设计要求实

7、现如下功能:1)建立职工的基本资料有工号、姓名、性别、出生日期、工资、参加工作时间和年龄(必须计算得到)2)根据职工信息表,建立只含有姓名和年龄的职工信息简表3)使用继承的方法构造3个类,(即雇员类虚基类,教师类和工人类派生类)使用相应的对象放置10个职工信息。4)编写同名display()成员函数,用来输出数组的内容5)要求对“<<”和“>>”运算符进行重载。考虑到输入职工编号时,也会因不小心引入空格,而且名字中也需要有空格,所以重载“>>”运算符时,需要满足这个要求。参考界面如下:* 职工信息管理*增加一位教师记录*增加一位工人记录*显示全部职工信息*删

8、除一个教师*删除一个工人*按姓名检索所以信息*结束程序运行4、求二叉树上结点的路径 要求在采用链式存储结构存储的二叉树上,以bt指向根结点,编程实现如下题目要求:1) p指向任一给定的结点,求出从根节点到给定结点之间的路径。2) 求该二叉树上叶子节点的个数3) 交换该二叉树上左右子树 5、交通咨询系统设计(最短路径问题)设计一个交通咨询系统,能让旅客咨询从一个城市顶点到另一个城市顶点之间的最短路径(里程)或最低花费或最少时间等问题。如下图所示的交通图:求从顶点沈阳到其他各个城市的最短路径9b 抚顺a 沈阳c 大连d 锦州f 葫芦岛e 鞍山g营口2010301251815810一个有向图 6、内

9、部排序算法的性能分析 要求:(1)对冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;(2)待排序表的表长不小于100,表中数据随机产生,至少用5组不同数据作比较,比较指标有:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动);(3)输出各种算法的排序结果和比较结果。(二)B类综合题(小组选做一个,参加答辩)1、通讯录管理系统编程实现通讯录管理系统,要求该系统能够完成通讯信息的建立、查询、插入、删除等基本功能。程序运行后至少给出下面7个菜单项的选择并分别实现其功能: 0、 通讯录的建立 1、通讯录信息输出2、 通讯者结点信息的删除 3、通讯者结点信息的查

10、询4、 通讯者结点信息的插入 5、通讯录信息更改 6、 退出通讯录管理系统设计的任务要求,通讯录中每个学生的基本信息应包括姓名、地址、电话等基本信息,采用链表存储结构。 2、 停车场管理管理问题描述:设停车场内只有一个停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内的某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外时,其他车辆再按原次序进入车

11、场,每辆停放在车场的车在它离开停车场时必须按停留的时间长短缴纳费用,。试为停车场编制按上述要求进行管理的模拟程序。基本要求:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括3个数据项:即汽车“到达”或“离去”信息、汽车牌照号码以及汽车到或离的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若车辆离去,则输出汽车在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链队列实现。测试数据:假设有4辆车,输入数据为(A,1, 5)、(A,2, 10)、(D,1,1

12、5)、(A,3, 20)、(A,4, 25)、(D,2, 35)、(D, 4, 40)、(E,0,0)。其中:A表示到达;D表示离去;E表示输入结束。4、 设计一个自己的字符串类String 为了和C+提供的string类区别,这里使用String。构造一种字符串的更高层次的描述:1) 各种串的操作(子串操作、串复制,串链接)都应当对字符串的界限进行检查和处理,这对于保证程序的安全性很有意义。2) 以复制方式实现串赋值,避免不同指针共享字符串的情况,提高数据的独立性。3) 用各种合适的操作符号定义字符串的操作(例如使用= 、>=、<等 )4) 定义一些高层次的操作,例如模式匹配 5

13、、航班信息的查询与检索要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行。以下是航班信息表:航班号起点站终点站班期起飞时间到达时间机型票价CA1544合肥北京1,2,3,110551240733960MU5341上海广州每日1430 1615M901280CZ3869重庆深圳2,4,6085510357331010MU3682桂林南京2,3,4,6,72050 2215M901380

14、HU1836上海北京每日094011207381250CZ3528成都厦门1,3,4,5715101650CRJ1160MU4594昆明西安1,3,5,6101511403281060其中航班号一项的格式为:K0K1K2K3K4K5CZ3869其中k0和k1的输入值是航空公司的别称,用两个大写字母表示,后4位是航班编号,这种航班编号关键字分为两段:即字母和数字。除了票价为数值型外,其他均定义为字符串型即可。系统主菜单: 1航班信息的录入 2航班信息的查询查询子系统的菜单如下所示: * *航班信息查询系统* * * 1航班号 * * 2 起点站 * * 3 终点站 * * 4起飞时间 * * 5到达时间 * * 0 退出系统 * *三、课程设计班级计算14-1、2、3、4、5、6班四、课程设计时间2016年6月15日 2016年7月

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论