资源描述:
《实时监控报警系统—课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、中北大学课程设计报告(实时监控报警系统)学院:软件学院专业:软件工程系学生姓名:严云飞学号:0921010447设计题目:实时监控报警系统设计地点:软件学院机房指导教师:尹四清薛海丽目录一、课程设计题目………………………………………………………二、设计目的……………………………………………………………三、需求分析…………………………………………………………四、概要设计……………………………………………………………五、详细设计……………………………………………………………六、心得体会…………………………………………………………一、课程设计题目:实时监控报警系
2、统二、设计目的 数据结构是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。它主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现。 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。三、需求分析1.程序设计任务:建立一个报警和出警管理的系统。2.明确规定:1.采用一定的存储结构存储报警信息,要求有内容、时间;2.有一次的出警就应该在待处理
3、的信息中删除这条信息;3.记录出警信息;4.待处理信息过多时会发出警告;四、概要设计1本程序中用到的抽象数据类型定义如下ADTList{数据对象:D={ai
4、ai∈ElemSet,i=1,2,....,n,n>=0}数据关系:Rl={
5、ai-1,ai∈D,i=2,...n}基本操作;IntList(&L)操作结果:构造一个空的线性表L。ListEmpty(L)操作结果:若L为空表,则返回TRUE,否则返回FALSE。ListInsert(&L,i,e)操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1.ListDelet(&L
6、,i,&e)操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.ListTraverse(L,visit())操作结果:依次对L的每个数据元素调用函数visit(),一旦visit()失败,则操作失败。}ADTlist其他抽象数据类型定义如下typedefstructLNode{char*data;structLNode*next;}LNode,*LinkList;2函数间的调用关系:首先定义用来存放报警信息的单链表,然后编写各个需要的基本操作函数,然后写出主函数。主函数与其他模块之间的调用关系是:主函数中先调用LinkList和LInitLi
7、st_L(L)函数创建存放报警信息的空链表。接着调用ListCreate_L(L,n)函数在空链表的基础上初始化报警信息,调用visit_L(L)函数显示所有报警信息。然后调用ListDelete_L(L,i,x)函数来实现出警并显示出警信息和ListInsert_L(L,i,x)函数来对报警系统进行插入信息。五、详细设计源程序:#include"stdafx.h"#include#include#include#include#defineLIST_INIT_SIZE20#de
8、fineOK1#defineOVERFLOW-2#defineERROR0typedefintStatus;/*定义单链表*/typedefstructLNode{char*data;structLNode*next;}LNode,*LinkList;intInitList_L(LinkList&L){L=newLNode;if(!L)exit(OVERFLOW);L->next=NULL;returnOK;}//InitList_LvoidListCreate_L(LinkList&L,intn){//尾插法建立带头结点的单链表Lchar*x;LNode
9、*p;printf("");for(inti=n;i>0;--i){p=newLNode;x=newchar[20];if(!p)exit(OVERFLOW);scanf("%s",x);{p->data=x;p->next=L->next;L->next=p;}}}//ListCreate_LintListInsert_L(LinkList&L,inti,char*e){//在带头结点的单链线性表L的第i个元素之前插入元素eLNode*p,*s;intj=0;p=L;while(p&&jnext;++j;}if(!p
10、
11、j>i-1)
12、return0;s=newLNode;s->data=e;s->n