Presentation is loading. Please wait.

Presentation is loading. Please wait.

实战3-C大型项目组织 3.2 VC++典型项目组织

Similar presentations


Presentation on theme: "实战3-C大型项目组织 3.2 VC++典型项目组织"— Presentation transcript:

1 实战3-C大型项目组织 3.2 VC++典型项目组织
C Programming in Action 实战3-C大型项目组织 VC++典型项目组织 叶安胜 Chengdu university

2 项目需求知识点算法思想流程图项目实现项目扩展
大型项目如何有效组织? -函数多少行代码合适?函数功能是否单一?一个源程序文件放多 少个函数?函数之间的关系?程序文件之间的关系?

3 项目需求知识点算法思想流程图项目实现项目扩展
大型项目如何组织?在VC++6.0下 (1)模块思想 (2)抽象代码(最好用头文件) (3)具体代码(在相应的功能模块内) (4)功能模块用文件夹组织 (5)功能模块中可以含有很多C文件 (6)每个C源程序文件可以拥有几个相关的函数 (7)每个函数的代码不易过多 (8)写的过程,发现代码重复度有些高,需要回到(2),抽取 抽象代码。(C++中就好解释了,就是抽取出来的作为父类,配 合接口实现) (9)C抽象的公共代码放到相关头文件中(类似stdio.h基本上搞 定I/O)

4 项目需求知识点算法思想流程图项目实现项目扩展
典型项目功能需求: (1)利用数组实现,输入10个整数,打印出最大值和最小 值; (2)利用指针实现,输入10个整数,打印出最大值和最小 值。 要求: (1)建立3个源文件,分别实现主界面、数组功能模块和指 针功能模块;通过头文件暴露数组模块和指针模块接口; (2)在主界面中,编写项目的入口——主函数,通过选择 分别进入数组功能模块和指针功能模块;在数组模块和指针 功能模块,利用函数分别实现数据的输入,最大值和最小值 输出。

5 项目需求知识点算法思想流程图项目实现项目扩展
菜单设计 -主菜单: -数组实战模块子菜单: -指针实战模块子菜单:

6 项目需求知识点算法思想流程图项目实现项目扩展
函数模块的规划与组织 数组功能模块: 由Arrayfun()函数实现,实现数据的录入,并通过调用displayArray()函数显示数组功能模块的界面,通过调用Maxfun函数,求出数组中的最大值,通过调用Minfun函数,求出数组中的最小值; 指针功能模块: 由Pointfun()函数实现,实现数据的录入,并通过调用displayPoint()函数显示指针功能模块的界面,通过调用Maxfun函数,求出最大值,通过调用Minfun函数,求出最小值。

7 项目需求知识点算法思想流程图项目实现项目扩展
文件规划与组织 -建了三个.cpp源文件:分别取名为:Main.cpp,ArrayModel.cpp, PointModel.cpp -两个.h头文件:ArrayModel.h,PointModel.h。 关键! 两个头文件用来暴露数组模块和指针模块接口

8 项目需求知识点算法思想流程图项目实现项目扩展
代码实现:操作演练 (1)源程序文件的建立(Main.c ArrayModel.c PointModel.c) (2)两个头文件的建立(ArrayModel.h,PointModel.h) (3)程序主框架的编写(Main.c文件中的main()函数编写) (4)主菜单的设计(displayMain()函数编写) (5)数组模块功能内部实现(菜单嵌套)(ArrayModel.c,主要工作量) (6)指针功能模块内部实现(菜单嵌套)(PointModel.c,主要工作量) (7)在两个头文件中公布接口(核心) (8)调试修改和完善代码 (9)运行

9 项目需求知识点算法思想流程图项目实现项目扩展
二级模块:数组模块功能内部实现(菜单嵌套) (ArrayModel.c,主要工作量) -编写Arrayfun()函数,主要功能如下: (1)输入10个数并保存; (2)通过调用displayArray()函数显示数组功能模块的子菜单界面 (3)通过调用Maxfun函数,求出数组中的最大值并显示; (4)通过调用Minfun函数,求出数组中的最小值并显示; (5)菜单设计如下:

10 项目需求知识点算法思想流程图项目实现项目扩展
二级模块:指针模块功能内部实现(菜单嵌套) (PointModel.c ,主要工作量) -编写Pointfun()函数,主要功能如下: (1)输入10个数并保存; (2)通过调用displayPoint()函数显示数组功能模块的子菜单界面 (3)通过调用Maxfun函数,求出数组中的最大值并显示; (4)通过调用Minfun函数,求出数组中的最小值并显示; (5)菜单设计如下:

11 项目需求知识点算法思想流程图项目实现项目扩展
运行程序和展示

12 项目需求知识点算法思想流程图项目实现项目扩展
项目要求: 将实战1中的全部相关功能模块取代本项目中的数 组模块;将实战2中的全部相关功能模块全部取代本项 目中的指针模块;如何来组织?

13 Thanks C语言综合项目实践 在 “幻灯片放映”模式,单击箭头进入 PowerPoint 入门中心。 成都大学信息科学与技术学院


Download ppt "实战3-C大型项目组织 3.2 VC++典型项目组织"

Similar presentations


Ads by Google