网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构课程设计---实时监控报警系统.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计---实时监控报警系统

课程设计报告 姓名:张晓静 学号:      班级:11计本班四班 题目: 实时监控报警系统。 建立一个报警和出警管理信息系统。 要求: (1)采用一定的存储结构存储报警信息,要求有内容、时间; (2)有一次的出警就应该在待处理的信息中删除这条信息; (3)记录出警信息; (4)待处理信息过多时会发出警告。 一、问题分析和任务定义。 有题目可知,我们需要建立一个报警、出警系统,这个课题的重点有如下几点: 用什么样的存储结构储存报警信息。 如何实现报警和出警这两项主要功能。 如何将出警信息保存下来,以待查询。 报警信息储存过多时需要发出警告。 经过一学期的数据结构的学习,我学习到了链表这一种数据结构,考虑到需要储存以及删除一些信息,所以我选择用链表来储存报警信息,且可以将上述的任务要求转化成一下几点: 用链表储存报警信息以及出警信息。 报警即将输入的信息储存在链表A里,我将会对链表A进行插入操作,将出警信息插入到A中; 出警则是对储存报警信息的链表进行删除,首先查找到相应的信息,再对链表A进行删除操作,并用链表B储存删除的结点。 输出储存在链表B中的结点信息,即可知道出警信息。 对储存报警信息的链表A进行遍历,若它的结点个数过多,则发出警告。 二、数据结构的选择和概要设计。 由以上的问题可知,我选择使用链表这一种数据结构来完成我的程序。由于报警时要求有内容有时间、出警时则可以根据案件的编号或者是报案的时间出警,所以链表中结点的类型是结构体。 typedef struct{ int num; //编号 char time[30]; //时间 char matter[50]; //内容 }datatype; typedef struct node{ datatype data; struct node *next ;}Listnode; 所用到的数据结构: num next域 time matter 对于本次的课程设计,我的主要思路是:在主函数中输出一个菜单,让用户选择需要执行的操作,包括报警、出警、查看出警记录、退出程序。再编写子函数,子函数有插入函数:void insertnode(linklist head,Listnode *x);删除函数:int delnode(linklist head,Listnode *x); 查找函数(以便查找到需要删除的出警记录):Listnode *listfind(linklist head); 输出出警记录函数:void printlist(linklist head); 完成主要的功能。子函数之间的调用如下: Insertnode()//插入函数 主函数 delnode() listnode()//删除函数和查找函数 void main() printflist()//输出函数 三、详细设计和编码。 (1)链表的结构类型如下: typedef struct{ int num; //编号 char time[30]; //时间 char matter[50]; //内容 }datatype; typedef struct node{ datatype data; struct node *next ; }Listnode; 定义指向Listnode结构体的指针类型; Listnode *linklist,*A,*B; A指向未处理的报警信息的链表头结点,B指向报警信息的链表头结点 编写主函数,主函数中使用switch()语句,case1:中解决出警问题,调用插入函数,记录下出警记录,并提示用户已经报警成功。但是由于题目要求报警信息储存过多时需要发出警告,首先对链表A进行遍历,若A的结点个数过多则输出警告信息,如下: 设置一个整型变量jj,遍历到链表A有一个结点jj则加1,以此来 记录结点的个数。 int jj=0; h=A-next; while(h){ //通过链表遍历来确定有多少节点 jj++; h=h-next; } if(jj3){ //此时已有3次警务未处理 printf(累计多次警务未处理,建议立即处理警务!); break; } 插入函数void insertnode(linklist head,Listnode *x); 首先在case1中定义一个链表x,要求用户输入报警的信息,包括时间内容编号,将信息存储在x中,再将x插入到链表A中

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档