Presentation is loading. Please wait.

Presentation is loading. Please wait.

C Programming in Action

Similar presentations


Presentation on theme: "C Programming in Action"— Presentation transcript:

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

2 项目需求知识点算法思想流程图项目实现项目扩展
大型项目如何有效组织? -应当把大软件(程序)的代码分成子程序,分别放在一组源程序文件中,各 自进行开发、编译、调试,然后把它们组合起来,形成整个软件(程序)。 -一个综合性的大型C项目通常由很多模块组成。每个模块可能由1个或多个函 数来实现,通常一个模块的代码对应一个C源程序文件保存。例如图书管理 系统的模块构成图。

3 项目需求知识点算法思想流程图项目实现项目扩展
大型项目如何组织策略要点: 一、源程序文件(*.c或*.cpp) -采用模块化的软件开发模型; -每个功能模块的相关文件存放在一个独立的文件夹中。 -模块的重心是功能函数的定义以及一些重要数据结构及内部对象。 -模块内部功能代码对外部要透明,用户在使用模块功能时不需要了解 具体的实现。尽量使用static修饰本地的数据和函数。 -需要对外公布的函数(一个可执行的模块通常提供一个公开的接口函 数),则使用*.h文件对外发布该接口函数(即函数声明)。

4 项目需求知识点算法思想流程图项目实现项目扩展
二、头文件 -头文件中不能包含有可执行代码,也不能有数据的定义和本地数据 只能有宏、类型(typedef,struct,union,menu),数据和函数的 声明。 -使用*.h文件暴露模块需要提供给其它模块使用的函数,宏,类型, 常量,全局变量等。 -防止被重复包含。 三、专门用于各模块之间建立联系的头文件-接口头文件 ①.一个模块一个接口函数,不能几个模块用一个接口函数。 ②.文件名为和实现模块的c文件相同。abc.c对应abc.h ③.尽量不要使用extern来声明一些共享的数据。 ④.尽量避免包含其他的头文件 ⑤ .接口头文件文件在发布后尽量避免修改

5 项目需求知识点算法思想流程图项目实现项目扩展
典型项目功能需求: 将本《综合项目实战》教程提供了九个实战项目集成为 一个综合实战项目。 每个实战项目又包含有数个基本子项目和扩展项目。 如何将这八个实战项目有机整合成一个综合项目? 该综合实战项目框架如何搭建? 各个实战项目源代码文件如何组织? 如何设置头文件? 各个模块如何有效组织,如何公布接口,如何调用。

6 项目需求知识点算法思想流程图项目实现项目扩展
菜单设计 -主菜单: -进入实战1二级子菜单: -实战1中项目1三级子菜单:

7 项目需求知识点算法思想流程图项目实现项目扩展
函数模块的规划与组织 -菜单函数规划 -一级菜单函数:CPractiseMainDisplayMenu -二级菜单函数:CPractiseXMainDisplayMenu (X为:1,2…9) -三级及以下菜单函数: CPractiseXxMainDisplayMenu (x:根据需要 设置)。 -主函数:main() 各实战模块中对外公布的函数: HandlePractiseX(), 其中(X为 :1,2…9) ,如HandlePractise1(), HandlePractise2()… 其它,各实战下各项目的函数定义,根据项目功能进行自定义。

8 项目需求知识点算法思想流程图项目实现项目扩展
函数模块的规划与组织

9 项目需求知识点算法思想流程图项目实现项目扩展
文件规划与组织 -实战.c源文件:PractiseMain.c,Practise1.c,Practise2.c Practise3.c Practise4.c Practise5.c Practise6.c Practise7.c Practise8.c -9个接口头文件:Practise1.h,… Practise9.h。 -当然还包括各个项目的源程序文件及相互调用用到的头文件。 接口头文件用来公布每个实战中被其它实战调用的函数。

10 项目需求知识点算法思想流程图项目实现项目扩展
显然,这是第一级主流程,每一级都对应有一个流程。

11 项目需求知识点算法思想流程图项目实现项目扩展
代码实现:操作演练 (1)项目搭建;创建对应的目录。(物理上,逻辑上) (2)所有源程序文件的建立(PractiseMain.c Practise1.c –Practise9.c) (3)9个接口头文件的建立(Practise1.h—Practise9.h) (3)程序主框架的编写(PractiseMain.c文件中的main()函数编写) (4)主菜单的设计( CPractiseMainDisplayMenu()函数编写) (5) 实战1-二级程序框架搭建。 (6)其它实战的简易搭建 (7)调试修改和完善代码 (8)运行

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

13 项目需求知识点算法思想流程图项目实现项目扩展
项目要求: 将实战1和实战2中的全部相关功能模块集成在一 个综合项目当中;如何来组织?建议在VS.NET 2013这 个集成环境中进行操作。

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


Download ppt "C Programming in Action"

Similar presentations


Ads by Google