内容发布更新时间 : 2024/12/23 12:15:57星期一 下面是文章的全部内容请认真阅读。
程序设计课程设计
任 务 书
班 级: 学 号: 姓 名: 成 绩:
电子与信息工程学院
计算机科学系
— 1 —
一、目的与要求
(一)设计目的
程序设计课程设计是计算机科学与技术专业和计算机科学与技术(计算机软件)专业学生修完《C/C++及面向对象程序设计》和《数据结构》课程后实践教学中重要的一环,其目的是巩固所学的C/C++语言以及面向对象程序设计知识,进一步掌握面向对象程序设计方法及各种编程技巧,从而培养学生面向对象的程序设计思想,加深对高级语言基本语言要素和控制结构的理解,针对数据结构中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。设计目的是加深对理论教学内容的理解和掌握,使学生交系统的掌握程序设计及其在实践中的广泛应用中的基本方法及技巧。为学生综合运用所学知识,进行软件开发和实践应用方面打下一定基础。 (二)基本要求
? 按照课程设计要求提交程序设计课程设计报告; ? 完成规定系统的设计与开发;
? 设计必须根据进度计划按期完成。
二、设计内容及安排
(一)课程设计报告的基本内容
1、概述
1)设计的任务和需要的知识点。主要阐述所选题目的设计完成哪些任务,指出为完成这些任务都需要哪些知识点和技术。
2)具体完成的设计内容,主要叙述自己完成了哪几个功能模块,每个模块的规模,自己是否有创新点并添加了哪些其他有用的功能,如果有,进行简要说明。
2、总体设计
根据需求,阐述本软件系统的整体设计思路,确定软件系统的体系结构。
1)软件结构设计。采用自顶向下、逐步细化的方法,将整个软件系统进行逐层分解,并画出该软件系统的总体模块结构图,即进行模块划分,并对主要功能模块进行简要说明。
2)数据结构设计。主要叙述采用了哪些全局变量、数组、结构体、文件等,以及它们在系统中的作用。(整个设计小组的概述和总体设计除个别地方外可以相同)
3、详细设计及实现。
主要叙述自己承担部分的那些模块的算法和数据结构,并给出程序调试和测试情况。 1)画出主要模块的算法流程图,配合运行界面抓图和文字说明进行描述。这部分内容
— 2 —
每个学生不得雷同,所占篇幅应最大。
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数据成员是生产的工件数量和每件的报酬;老板每周有固定的薪水;销售员每周有小部分固定的基本工资加上其每周销售额的固定百分比。设计和规划该类体系,并分别产生每个基类及派生类对象,并显示该员工的工资。
— 3 —