软件学院课程设计

发布 2020-02-26 18:30:28 阅读 4572

2023年软件学院c++课程设计。

课程设计目的:

1、熟悉利用面向对象的方法以及c++的编程思想来完成系统的设计;

2、锻炼学生在设计的过程中,建立清晰的类层次,应用继承和多态等面向对象的编程思想;

3、通过本课程设计,加深对面向对象程序设计课程所学知识的理解,熟练掌握和巩固c++语言的基本知识和语法规范,深刻体会面向对象的编程思想,掌握使用面向对象程序设计语言c++,学会编写结构清晰、风格良好的c++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。

课程设计题目一:分数计算器。

一、 题目描述。

设计一个分数计算器。

二、设计提示和要求。

1、 为分数定义一个类。分数定义为两个整数之比,如1/2,64/2等等。

2、 重载《和》运算符。分数以1/2,300/401这样的形式输入和输出。注意分子、分母可能包含负号,所以支持-1/2,15/-32,-300/-400形式的输入和输出。

3、 重载+、-运算符,使它们能正确支持分数类型。

4、 设计一个函数,对分数进行约分和规格化,在规格化之后,分母一定是正的,并且分子与分母的最大分约数为1。

三、 要求。

每个人独立实现,时间可安排在第1天完成,但是最后和(题目二)一起提交。

四、 设计作用。

起到热身作用,学生迅速复习和熟练试验环境,为题目二做好程序调试基础。

课程设计题目二:学生成绩管理。

一、 题目描述。

设计程序要求完成高校学生的成绩管理功能。每个人独立实现。

具体信息描述及功能要求如下:

1、课程基本信息:

(1)课程属性:课程名称、课程编号、课程性质(考查、考试),学分、学时。

2)设计约定。可以假定学校开设n门课,在系统启动时将这些课程的信息加载到课程库中;

2、学生基本信息:

1)本科生属性:学生卡号、学生班级、学生专业、学生姓名、所学课程学期、本学期学分、成绩。

2)研究生属性:学生卡号、学生班级、学生专业、学生姓名、所学课程学期、本学期学分、成绩、研究方向,导师姓名。

其中,成绩均以百分制计算。

3、 选课管理。

1)假定完全按照学分制管理,即每学期每个人选课不能超过当前学期限定学分即可。

2)本科生与研究生共同选课;

4、成绩管理:

1)成绩输入与修改:

①输入某门课全体同学的的成绩。

修改某门课某个学生的成绩。(可扩展为根据修改条件,批量修改)

2)成绩评价。

①本科生:计算某学期每个学生的成绩总评。公式:成绩总评=σ(学分*分数)/σ学分。并根据成绩总评对全体学生排出名次。

②研究生:计算某学期区间每个学生的平均成绩。公式:平均成绩=σ考试课成绩/σ考试课门数。并根据成绩总评对全体学生排出名次。

5 、查询功能。

1)查询某专业某门课程成绩在某一范围(如小于60或大于90)的学生信息。

2)查询某学期m门课不及格的学生信息(m在程序运行时输入)。

3)查询某个学生在某个学期区间的所有成绩。

4)查询某门课选课总人数,以及其中本科生数目。

二、技术层次要求及说明。

1、基本层次。

完成上述功能要求,所采用技术不限,比如采用纯面向过程思想实现;

2、支持对象层次。

正确完成了类的切割,利用对象技术实现。

(1)容器类主要包括:研究生、本科生、学校课程库。

(2)其它主要类包括:学生、课程。

3、抽象、封装层次。

采用了继承或者组合实现复用,对数据成员提供了必要的接口保护;

(1)抽象出了学生类,并被本科生和研究生所复用;

(2)如学生信息、课程信息修改等操作均应该提供接口形式;

4、面向对象层次。

支持多态功能。

两类学生都需要计算成绩,计算方法不同。要求以多态方法实现;

5、优化提高层次。

(1)提供简便菜单,以等数字区分几类功能,并允许返回菜单;

2)i/o操作支持。基本功能中,已有学生和课程情况,在初始化时候可以固化在程序**中,也可以存放在文件中,每次容器实例化时读入,析构时写回文件中,以实现断电保存。

(3)为追求规范,容器类可以增加单例限制;

(4)泛型支持。容器也可以采用模板实现;

(5)程序有必要的注释;

(6)可以采用uml工具画出简单类图。

(7)为防止不诚信行为,要求类的设计均以独立文件存在,且所有的类名称后面应有自己的姓名缩写,如张三设计的学生类名称:sdudentzhs。

三、设计步骤(参考 ):

在清楚上述系统功能要处理是什么的基础上,考虑用如下方式来设计。

1、确定所需的类及其相互间的关系。

1)要从问题中归纳出一个概念或实体,从这些概念或实体出发建立相应的类。

2)尽量使类小而简单,以使其看起来容易理解。

3)充分利用封装以增加类的可靠性,以便使用时保证更加可靠。

4)通过继承建立类族,以方便使用多态性。

2、确定每个类的实现。

1)考虑类的对象应该如何构造和析构。

2)考虑类的成员函数的建立。

3)综合考虑各个类在命名和功能方面有哪些共性。

3、细化有关的类,描述他们之间的依赖关系,即继承和使用关系。

4、描述本系统的界面,通过分别定义公有函数和私有函数,为继承和普通客户提供分离的接口。

四、设计工具。

1、设计工具:建议使用。net 2008中的c++ 编译器,但不局限于此。

2、不提倡使用mfc和可视化开发技术。

五、设计报告。

报告应该包含两个题目的内容。

报告的具体格式附后)

六、考核方式。

1、在设计结束前的最后一天检查程序并接受质疑。

2、检查程序前须提交设计报告(按提交报告的先后顺序检查程序)。

七、考核标准:

参照5个技术层次划分。

面向对象程序课程设计》课程设计报告。

班级学号姓名:

总体设计,描述设计的总体实现方案。参考《2023年8月软件学院c++课程设计》技术层次要求及说明:主要描述类及类的层次结构,说明对象之间的使用关系;强调你在设计中所体现的技术;设计的表达形式不限,可用自然语言和流程图相结合描述,有能力的同学采用uml的用例和类图描述更好。

)注:报告应该包含两个题目的内容。

软件测试课程设计要求

软件测试技术课程设计要求。1 测试对象选择 每组同学选择一个web应用程序,部署到笔记本上。web程序可以从网络上找,至少包含5个以上的功能模块。要求 每组所测试针对的web应用程序不能相同!否则两组成员成绩都将降一档次。2 分组要求 每组4人,班级内自由组合。3 测试内容 针对一个主要模块,至少有...

《软件课程设计》教学要求

总学时 48学时 3学分。一 课程设计的目的与任务。c 是当今最流行的高级程序设计语言之一,应用十分广泛,也是一门复杂的语言,与c语言兼容,既支持结构化的程序设计方法,也支持面向对象的设计方法。本课程设计是在完成c 程序设计教学后所进行的,旨在对学生c 程序设计能力进行全面综合训练,力求将书本知识用...

《软件课程设计》教学要求

总学时 48学时 3学分。一 课程设计的目的与任务。c 是当今最流行的高级程序设计语言之一,应用十分广泛,也是一门复杂的语言,与c语言兼容,既支持结构化的程序设计方法,也支持面向对象的设计方法。本课程设计是在完成c 程序设计教学后所进行的,旨在对学生c 程序设计能力进行全面综合训练,力求将书本知识用...