《C 课程设计》指导

发布 2022-09-30 17:39:28 阅读 8460

《c++程序设计课程设计》指导。

1. 任务描述和需求分析。

用c++设计一个业务处理系统,其业务就是进行简单的几何计算:

输入圆的半径,计算并输出圆的周长和面积;

输入圆柱的半径和高,计算并输出圆柱的表面积和体积;

输入圆球的半径,计算并输出圆球的表面积和体积;

输入长方形的长和宽,计算并输出长方形的周长和面积;

输入长方体的长、宽和高,计算并输出长方体的表面积和体积。

系统启动时显示版本等信息。

希望大家首先一定要理解和明白我们这次实训的目的和意图:

学习和掌握c++面向对象的程序设计思想和方法。

因此,凡是没有采用c++面向对象的程序设计思想和方法来实现的都是不合格的。

为什么我们会选择如此简单的计算问题?

主要是希望大家把精力集中在实现方法上,而不是将注意力放在对问题本身的理解上。

2. 系统分析与设计。

通过分析,可以设计出完整的系统的总体框架和流程图。譬如,某银行综合业务系统的总体框架和流程图,如下图1。

为了方便设计和调试,可以先单独实现各功能模块。我们的系统没有“用户管理”等功能要求,因此,系统的总体框架可简化为图2。

2.1 分析与设计功能模块的总体框架和流程图。

单独实现“业务处理”的系统的总体框架和流程图如图3。

其中,创建各对象的函数返回指向对象的指针,并存入基类指针变量pshape中,该变量作为函数virtualviapointer的实参,由virtualviapointer函数实现统一的计算并输出。

当然,该图只是程序的一个框架结构,具体的程序还有很多细节需要补充,如释放动态创建的对象,输出计算结果后实现停顿以让用户看清结果等。

请同学们自己画出函数fncircle( )fncylinder( )fnsphere ( fnrectangle( )fncuboid( )的流程图。

2.2 分析与设计数据结构。

通过对任务⑴的分析,发现有5个对象:圆、圆柱、圆球、长方形和长方体。它们都可用相应的类来实现。

圆和长方形的输出都是周长和面积,圆柱、圆球、长方体的输出都是表面积和体积,即要计算输出的项是周长、面积和体积,对应于3个函数:circum(),area(),volume()。再加输出对象名称和对象属性的函数print(),可以构成一个包含公共接口的抽象类。

总共6个类。

由于所有计算与对象的位置无关,因此,圆和圆球的属性只有半径,圆柱的属性只有半径和高,长方形的属性只有长和宽,长方体的属性只有长、宽和高。若公共接口的抽象类为shape,则圆类circle继承shape,圆柱类cylinder继承circle,圆锥类cone继承cylinder;长方形类rectangle继承shape, 长方体类cuboid继承rectangle。它们的层次结构图如下。

类族的设计步骤:

1 设计基类shape

2 通过继承shape,设计圆类circle和长方形类rectangle

3 通过继承circle,设计圆柱类cylinder和圆球类sphere

4 通过继承rectangle,设计长方体类cuboid

5 通过继承cylinder,设计圆锥类cone

c++程序设计的思想精髓就是这样顺其自然地重用已有的**,在现有的基础上再加扩展,从而使程序设计和维护的代价大大减小,极大地提高了软件的生产率。

每个类的属性和方法(成员函数)如下:

基类shape泛指所有图形类,根本不知它是圆的还是方的,也不知它的大小,所以没有或没法确定它的数据成员。设计该类的目的是为整个类族提供一组公共的接口函数,并可利用虚函数这一多态机制实现统一的操作界面。

圆类circle对象的大小是由半径确定的,半径是圆类固有的属性,圆类的成员函数的计算处理都与它有关,所以必须将它作为数据成员,与成员函数封装在一起,构成圆类。

没有真正理解c++程序设计思想精髓的人会把它切割下来,放到基类shape中作为数据成员。这种认识错误体现在程序设计中就会影响类的扩展性和维护性。即使程序最终也能实现需要的功能,但在程序设计思想上那也是犯了根本性的错误,说明对类的继承与派生这一核心问题还没有真正理解。

圆柱类通过继承圆类可简化为:

没有要求设计圆锥类,故可省略)

圆锥类通过继承圆柱类可简化为:

圆球类通过继承圆类可简化为:

注意:类名中的字母l别打成数字1。全部打成数字1不会出错,但若有的地方是字母l,有的地方是数字1,则编译、连接时肯定会出错。

C 课程设计指导

广东工业大学应用数学学院 c 课程设计 设计指导。一 数据的存储。1 创建存储文件如。2 通过microsoft i o流类库建立数据与应用程序的通信。3 ofstream 与ifstream流类 详见第11章流类库与输入 输出 二 界面设计。1 创建基于mfc的应用程序。2 创建控件。控件的添加与...

C课程设计指导

实验一 turbo c菜单设计。设计如图所示下拉菜单 help下拉菜单 当焦点在game或help上,按回车键弹出其下拉菜单。按esc键取消下拉菜单,回到上一级菜单。菜单中大写字母以红色表示。实验二 模拟随机 要求 设计程序,实现模拟随机 如36选7,运行实现显示随机选号选出10组的彩票号。所有内容...

C 课程设计指导书

目录。设计要求 2 设计题目及指导教师 2 上机安排 3 第一组课程设计题目 4 1.1 铁路售票管理系统的设计 4 1.2 学生考勤管理系统的设计 4 1.3 模拟21点游戏的设计 5 1.4 学生成绩管理系统的设计 6 第二组课程设计题目 6 1.1 航空售票管理系统的设计 6 1.2 个人信用...