第8章 综合应用演示课件.pptVIP

  • 1
  • 0
  • 约9.76千字
  • 约 51页
  • 2019-02-21 发布于湖北
  • 举报
构建实践(详细设计): 1 约定。 1)确定编码之前的设计工作。 2)编码过程中对于名称、注释、代码的编写规则。 3)编码时考虑性能因素,具体的描述。 2 团队合作。 1)是独自编程还是结队编程? 2)如何实现各模块的接口? 3 设计。 1)数据结构设计具体描述 2)菜单设计功能需求描述 3)个模块功能设计描述。 编码、集成和测试。 精选编制 实例: 选题:简单通讯录管理。 问题描述:一个简单的通讯录应该包含联系人的姓名、住宅电话、移动电话、分组、E-mail等等信息。实现一个简单的通讯录的管理,能够方便快捷的实现查询、插入、更新、删除、备份等等操作。 需求分析: 1)能够方便地查看联系人的信息。 2)能够更新联系人的信息,包括插入、删除、修改等。 3)能够备份通讯录。 4)系统简单,易操作。 精选编制 软件架构(总体设计): (1)功能模块设计 (2)模块接口设计 (3)系统流程设计 (4)数据结构设计 精选编制 系统功能: 通信录管理 更新通信录 查看通信录 新增联系人 删除联系人 编辑联系人 备份通信录 精选编制 各模块源文件 包含的函数、成分 功能 主程序模块tel.cpp main 总控函数、变量的的初值设置 头文件模块tel.h 结构声明 联系人的数据结构类型 常量、变量 提供常数和全局变量 库函数以及函数原型声明 引用库函数及函数 菜单模块menu.cpp Menu 主菜单及选择 SubMenu 子菜单及选择 浏览模块brows.cpp PrintHead 输出表头 PrintBottom 输出表尾 PrintOne 输出一个联系人 List 显示所有联系人 Print 输出表头和一个联系人 更新模块edit.cpp Input 输入联系人信息 New 新增联系人 Edit 编辑联系人 Delete 删除联系人 Select 为删除或修改选择联系人 排序模块sort.cpp Selectsort 选择法排序 SortByAlphabet 将联系人按姓名排序 文件存取模块file.cpp Load 将磁盘信息读入到内存tel Save 将tel的内容存到磁盘中 Copy 复制通讯录文件 精选编制 通信录 排序索引 List browse.cpp 通信录 记录数 主程序模块与其它模块之间的关系结构图 tel.cpp main Load Save file.cpp Copy 通信录 排序索引 New Edit edit.cpp Delete 通信录 排序索引 通信录 排序索引 菜单代码 是否成功 记录数 通信录 排序索引 menu.cpp Menu SubMenu2 菜单代码 精选编制 排序索引 通信录 联系人 原名 菜单代码 排序索引 通信录 联系人 序号 是否重名 通信录 通信录 姓名 edit.cpp模块各函数间的关系结构图 New Duplicate Input Select Edit edit.cpp Delete sort.cpp SortByAlphabet List Print browse.cpp 精选编制 排序索引 通信录 file.cpp模块各函数间的关系结构图 SortByAlphabet sort.cpp Copy Load Save file.cpp 精选编制 第8章 综合应用 精选编制 8.1 穷举法:打开问题的缺口 基本思想: 将所有可能的状态例举出来,然后逐一检验是否满足条件,从而判断哪些是需要的解,哪些不是。 问题1:求解1~1000之间所有的素数。 8.1.1 穷举法的基本思想 问题2:求解满足在1~1000之间的两个数之和等于1234的所有解。 问题3:求解满足在1~1000之间的三个数,它们是直角三角形的三条边的所有解。 精选编制 第四章 串 对从2开始一直到1000的所有数去判断是否是素数,如果是则输出。 for(i=2;i1000;i++) if(IsPrime(i)) printf(“%d\t”,i); 问题2的解决方法: for(a=1;a=1000;a++) for(b=1;b=1000;b++) if(a+b==1234)printf(“a=%d,b=%d\n”,a,b) 问题1的解决方法: 两个数不妨设为a和b。该问题的就是求解满足1≦a ≦1000, 1 ≦b ≦1000 而且a+b=1234的所有的a和b。 精选编制 第四章 串 问题3的解答: 若设这三个数为a,b,c,那么问题的解满足: (1) 1≦a≦1000, 1≦b≦1000, 1≦c≦1000; (2) a2 = b2 + c2 或者 b2 =a2 +c2或者

文档评论(0)

1亿VIP精品文档

相关文档