实时监控报警系统—课程设计报告.doc
目 录一、课程设计题目 二、设计目的 三、需求分析 四、概要设计 五、详细设计 六、心得体会 一、课程设计题目实时监控报警系统二、设计目的数据结构是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。它主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现。数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。三、需求分析1程序设计任务建立一个报警和出警管理的系统。2. 明确规定1. 采用一定的存储结构存储报警信息,要求有内容、时间;2. 有一次的出警就应该在待处理的信息中删除这条信息;3. 记录出警信息;4. 待处理信息过多时会发出警告;四、概要设计1本程序中用到的抽象数据类型定义如下 ADT List 数据对象Dai|aiElemSet,i1,2,....,n,n0数据关系Rlai-1,ai|ai-1,aiD,i2,...n基本操作;IntListstruct LNode *next; LNode, *LinkList;2函数间的调用关系首先定义用来存放报警信息的单链表,然后编写各个需要的基本操作函数,然后写出主函数。主函数与其他模块之间的调用关系是主函数中先调用LinkList 和L InitList_LL函数创建存放报警信息的空链表。接着调用ListCreate_LL,n函数在空链表的基础上初始化报警信息,调用visit_LL函数显示所有报警信息。然后调用ListDelete_LL,i,x 函数来实现出警并显示出警信息和ListInsert_LL,i,x函数来对报警系统进行插入信息。五、详细设计源程序include stdafx.hincludeiostreamincludestring.hincludestdio.hincludestdlib.hdefine LIST_INIT_SIZE 20define OK 1define OVERFLOW -2define ERROR 0typedef int Status;/* 定义单链表*/typedef struct LNode char * data;struct LNode *next; LNode, *LinkList; int InitList_LLinkList ifL exitOVERFLOW;L-nextNULL;return OK;//InitList_L void ListCreate_LLinkList LNode *p; printf ; forint in;i0;--i pnew LNode; xnew char20; ifp exitOVERFLOW; scanfs,x; p-datax; p-nextL-next; L-nextp; //ListCreate_Lint ListInsert_LLinkList int j0; p L; while p j; if p || j i-1 return 0; s new LNode; s-data e; s-next p-next; p-next s; return 1;//ListInsert_Lint ListDelete_LLinkList int j 0;pL;while p-next j; // 寻找第i 个结点,并令p 指向其前趋if p-next || j i-1 return ERROR; // 删除位置不合理q p-next; p-next q-next; // 删除并释放结点//e q-data; sprintfe,s,q-data;delete q;return OK; // ListDelete_Lvoid visit_L LinkList L /* 显示数据*/ LNode *pL-next;whilep printfs,p-data;pp-next; putcharn;void mainLinkList L; char * xchar*malloc50;int j;int n;int i;InitList_LL;printf****************************************************************************n; printf*************************** 实时监控报警系统*****************************n;printf*************************** *****************************n;printf*************************** 中北大学软件学院 *****************************n;printf*************************** 0921010447 *****************************n; printf*************************** 严云飞 *****************************n;printf****************************************************************************n;printf【系统中有多少个报警信息】;scanfd,printf【初始化报警系统】;ListCreate_LL,n;printf【报警系统】;visit_LL; while1 printf1【出警系统启动】n; printf2【显示报警信息】n; printf3【新的报警系统】n; printf4【结束】n; scanfd, switchj case 1 printf【出警】; scanfd, ifListDelete_LL,i,x printf【出警信息显示】; printf【现存的报警信息】; visit_LL; else printf【出警信息不存在】.; break; case 2 visit_LL; break; case 3 printf【插入报警信息】; scanfd,s, ifListInsert_LL,i,x visit_LL; else printf【插入错误】; break; case 4 exit0; break; default printf【输入错误】; systemPAUSE;六、心得体会数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。 通过这次数据结构课程设计,让我学到了好多东西。在实际操作过程中犯了一些错误却让我有了意外的收获,所学数据结构理论知识得到了巩固。通过实际操作,学会数据结构程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。现在终于挨到了写收获与体会的时候了,的确令人兴奋,看看自己的劳动成果,好开心。一个星期前的现在,当听到老师布置给我们的题目时,我们都蒙了,这么难的题目我们怎么会啊,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。上网查资料、去图书馆查,查相关的函数,经过两三天的努力,我把框架弄出来了,可是还有计算难题摆在我的面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看一个星期快过去了,我那个急啊,可是急也没有用。我坚持,终于工夫不负有心人,我参照类似程序,改改和添添,终于大功告成,我们欢呼我们雀跃,终于相信我们自己是足够的伟大。首先,发现自己对知识的掌握不是很牢固,对课程的设计很困难。自己对知识的掌握和运用是相当的差,感觉自己的知识就是学得很不牢固。其次,通过查资料,对于链表和指针的使用有了更深刻的了解,还有对define和typedef的应用有了新的认识。再次,通过这次课程设计,明白了很多自己原来不是很清楚的知识点,对自己以后的学习和发展都是有用处的。