ToDo

Home Doc Changelog Download About

  • 提交目标软件及其版本序列
    • 软件包:从Github上git clone或download zip
    • 版本序列
      • git版本控制
      • 每一个版本进行单独保存为Released 并本地备份
    • 产品文档中的更新日志
  • 课程设计报告
    • ① 采用各级“标题”样式,组织结构化的文档;
    • ② 采用Visio之类的软件,绘制相关的设计图。
    • ③ 采用http://codeinword.com/组织代码。
    • ④ 报告末尾有“设计感想”。
  • 优秀标准
    • ① 类的包含关系
    • ② 类的继承关系;
    • ① 多态技术;
    • ② 类模板技术;
    • ③ 采用了可视化的编程语言,实现了窗口程序或网站程序。
  • 时子延的特色

以下为原文:

《面向对象程序设计》课程设计题

(2021年7月)

1 课程设计要求

1.1 每一位同学必须提交的材料

① 目标软件及其版本序列

② 课程设计报告。

要求每位同学独立完成,提倡互相交流、帮助,但是严格拒绝抄袭。

1.2 目标软件的开发环境

① 建议采用C++编写,同时鼓励采用任何支持面向对象技术的语言;

② 程序形式可以是控制台程序,同时鼓励实现窗口程序或网站程序。

1.3 目标软件的编程风格

① 代码缩进;

② 合适的变量名;

③ 几乎不使用全局变量;

④ 每个函数的代码,不能超过20行。

1.4 在目标软件应满足的技术指标

① 类的数量>=5个;

② 代码量>=500行;

③ 拒绝没有数据成员的类(除非有特别的理由);

④ 使用了数据文件,保存软件的运行前和运行后的数据。

1.5 在目标软件的开发中,采用迭代式开发方法

版本序列:保留至少3个递进的开发版本。

② 这将成为师生交流、评判成绩的重要材料。

1.6 课程设计报告的书写规范

① 采用各级“标题”样式,组织结构化的文档;

② 采用Visio之类的软件,绘制相关的设计图。

④ 报告末尾有“设计感想”。

2 评分标准

2.1 当面交流

欢迎大家在假期中,努力进步,常常在课程群中提问、讨论。

每位同学的成绩,都是在提交材料后,经过师生的交流,当面给出的。

2.2 优秀的设计

在满足“课程设计要求”之后,必须至少使用了以下技术之一:

① 多态技术;

② 类模板技术;

③ 采用了可视化的编程语言,实现了窗口程序或网站程序。

2.3 良好的设计

在满足“课程设计要求”之后,必须至少使用了以下技术之一:

① 类的包含关系

② 类的继承关系;

3 课程设计的选题

选题1:教务管理软件

数据文件:课程表、学生表、成绩表等。

模块:课程管理、学生管理、成绩管理等。

模块中的功能:打开、保存、查询、增加、删除、修改等。

选题2:仓库管理软件

数据文件:工作人员表、物品表、进货表、销售表等。

模块:工作人员管理、物品管理、进货管理、销售管理等。

模块中的功能:打开、保存、查询、增加、删除、修改等。

选题3: 图书馆管理软件

数据文件:学生表、图书表、借阅表、归还表等。

模块:学生管理、图书管理、借阅管理、归还管理等。

模块中的功能:打开、保存、查询、增加、删除、修改等。

选题4:实现自定义的字符串类KString

自定义并完善字符串类KString,从而实现对字符串对象的方便定义,空间可伸缩、动态管理和便捷运算。

本系统的功能要求如下:

1、该类用于存储和处理字符串对象的相关信息

2、使用堆空间实现可变长字符串信息的动态存储,尽可能考虑全面

3、完成以下的操作:初始化字符串、获得字符串长度、在字符串中查找一个字符、在字符串中查找另一个字符串、字符串连接(‘+’运算符)、字符串比较(‘>’‘<’‘= =’等)、赋值(‘=’)等。

提示:

1、建立KString类和相关测试程序

2、字符串内部只使用ASCII字符编码

3、对象内部空间动态管理

4、方便字符串内容输出

5、程序须有必要的注释

选题5:基于链表结构的一元多项式类的运算软件

数据文件:一元多项式的系数、指数文件。

功能:求值、加法、减法、乘法、除法等,支持连续运算。

选题6:基于动态顺序表结构的高精度整数类的运算软件

数据文件:算式文件。

功能:加法、减法、乘法、除法等,支持连续运算。

选题7:基于动态顺序表类的内存管理软件

功能1:用动态顺序表类,模拟内存管理;用成员函数mynew和mydelete,实现new和delete的功能。

功能2:建立链表类,检测空间的申请、释放效果,判断链表类的代码,是否存在内存泄漏的情形。

选题8:绘图模拟程序

绘图模拟程序,用来在一个画板上,模拟绘制矢量图。要求实现以下功能:

  1. 根据图形的类型实现相应的绘图操作(记录图形的位置,大小,形状,线条,颜色等特征,在屏幕上只显示绘制成功与否)

  2. 所有图形都绘制在一个画板上,画板的颜色大小可以设置。

  3. 存储画板上的图形(文件名可以输入)

  4. 根据图形文件名读入图形到画板中,并将它们显示在屏幕上(可以只显示图形属性数据)

  5.  扩展功能:以图形化的方式显示绘制的图形

选题9:窗口游戏类软件(选择其一)

小球游戏(弹射、接球等);

贪吃蛇游戏;

汉诺塔游戏;

扫雷游戏;

纸牌游戏;

24点游戏等。

具体功能请自拟,然后与任课教师交流,得到认可后,再进行设计开发。