c语言综合设计实例

c语言综合设计实例

ID:11410312

大小:198.50 KB

页数:20页

时间:2018-07-11

c语言综合设计实例_第1页
c语言综合设计实例_第2页
c语言综合设计实例_第3页
c语言综合设计实例_第4页
c语言综合设计实例_第5页
资源描述:

《c语言综合设计实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章综合设计实例本章重点①问题描述②程序设计的方法及描述工具③根据程序流程图编码④程序测试⑤综合设计报告C语言程序设计是一门实践性很强的课程,编写程序、调试程序和测试程序的能力需要经过大量实践学习来培养。综合设计是综合运用C语言程序设计课程所学知识解决一个实际问题,强化实践能力,进一步提高综合运用能力的重要环节。本章从问题描述、程序设计、编程、测试、综合设计报告几个方面,分析了两个C语言程序设计的综合设计案例以供参考。8.1简单集合运算实例8.1.1实例描述【例8.1】建立简单的用户菜单界面,处理两个简单整型数据集合,要求具有如下功能:(1)为集合

2、增加、删除元素。(2)求两个集合的交集、并集及补集。(3)用链表来存储集合的元素。题目要求:(1)按照分析、设计、编码、测试的软件开发过程完成这个应用程序;(2)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单;(3)用户根据需求输入相应得命令选择希望进行的操作;(4)界面友好,操作方便,给出清晰、明确的提示信息。8.1.2程序设计通过分析问题描述,程序必须“做什么”已经清楚了,程序设计阶段是要决定“怎么做”,也就是要设计算法和重要数据的数据结构。程序设计的任务得出对目标系统的精确描述,即给出各模块的程序流程图。该系统可划分为以下模块:(1

3、)创建空链表,函数名为CreateTable();(2)为链表输入元素,函数名为AppendToTable(structCollelm*x);(3)向链表插入一个元素,函数名为InsertToTable(structCollelm*x,intnumber);(4)删除链表元素,DeleteTable(structCollelm*x,intnumber);(5)求集合x,y的交集,函数名为Multiply(structCollelm*x,structCollelm*y);(6)求集合x,y的并集,函数名为Addition(structCollelm*x

4、,structCollelm*y);(7)求集合x,y的补集,函数名为Subtraction(structCollelm*x,structCollelm*y);(8)输出链表元素,函数名为PrintTable(structCollelm*x);(9)显示系统主菜单,函数名为Help();(10)系统主函数,函数名为voidmain();下面是部分功能模块程序流程图:(1)向链表插入一个元素的程序流程图如图8.1所示。图8.1链表插入一个元素的程序流程图(2)删除链表元素的程序流程图如图8.2所示。图8.2删除链表元素的程序流程图(3)求集合x,y的交

5、集的程序流程图如图8.3所示。图8.3求集合x,y的交集的程序流程图(4)求集合x,y的并集的程序流程图如图8.4所示。图8.4求集合x,y的并集的程序流程图(5)求集合x-y的补集的程序流程图如图8.5所示。创建空链表collSub,准备存放集合x和集合y的补集p=x->next;p指向集合x的首节点q=y->next;q指向集合y的首节点r=collSub;r指向链表collSub的首地址p!=NULLq!=NULL是p->number!=q->number否q=q->nextbreak是q==NULL否将p->number插入链表r中r=r->

6、nextp=p->nextq=y->next输出collSub图8.5求集合x-y的补集的程序流程图8.1.3编程编码就是用高级语言表示设计阶段产生的算法。在编码阶段,要遵循结构化程序设计思想。按照结构化程序设计思想,功能模块独立,这样使程序层次清晰,容易保证程序开发时的正确性和易纠错性。因此,按照这种思想开发的程序便于编写、阅读、修改和维护,减少了程序出错的机会,提高了程序的可靠性,保证了程序的质量。下面是根据8.1.2的程序流程图编写的一个结构化程序,请读者参考。#include"stdio.h"#include"conio.h"#include

7、#include"process.h"voidPrintTable(structCollelm*x);/*打印元素*/voidAppendToTable(structCollelm*x);/*为集合x输入元素*/voidAddition(structCollelm*x,structCollelm*y);/*求集合x,y的并集*/voidInsertToTable(structCollelm*x,intnumber);/*向集合x中插入元素number*/voidMultiply(structCollelm*x,structColl

8、elm*y);/*求集合x,y的交集*/voidDeleteTable(structCollelm*x,in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。