
跪求 数据结构课程设计——实时监控报警系统 急急急急急急急急!!!!!
问题描述:建立一个报警和出警管理的系统基本要求:1.采用一定的存储结构存储报警信息,要求有内容、时间;2.有一次的出警就应该在待处理的信息中删除这条信息;3.记录出警信息...
问题描述:建立一个报警和出警管理的系统
基本要求:
1. 采用一定的存储结构存储报警信息,要求有内容、时间;
2. 有一次的出警就应该在待处理的信息中删除这条信息;
3. 记录出警信息;
4. 待处理信息过多时会发出警告;
用c或c++做,程序漏洞尽量少一点.我的QQ:1249812018 展开
基本要求:
1. 采用一定的存储结构存储报警信息,要求有内容、时间;
2. 有一次的出警就应该在待处理的信息中删除这条信息;
3. 记录出警信息;
4. 待处理信息过多时会发出警告;
用c或c++做,程序漏洞尽量少一点.我的QQ:1249812018 展开
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
#include<windows.h>
typedef struct node
{
char time[20];
char neirong[40];
int bianhao;
node *next;
}node;
typedef struct jilu
{
char time[20];
char neirong[40];
int bianhao;
jilu *next;
}jilu;
void chushihua(node *l)
{
node *p,*q;
p=l;
char flag='y';
while(flag=='y')
{
q=(node*)malloc(sizeof(node));
printf("报警编号:\n");
scanf("%d",&q->bianhao);
fflush(stdin);
printf("请输入报警时间:\n");
gets(q->time);
printf("请输入报警内容:\n");
fflush(stdin);
gets(q->neirong);
p->next=q;
p=q;
printf("是否继续录入报警信息:\n");
fflush(stdin);
scanf("%c",&flag);
}
p->next=NULL;
}
void display(node *l)
{
node *p;
p=l->next;
while(p!=NULL)
{
printf("报警编号:%d",p->bianhao);
printf("报警信息:%s",p->neirong);
printf("报警时间:%s\n",p->time);
p=p->next;
}
}
void chujing(node *l,jilu *k)
{
node *p;
jilu *q,*r;
p=l->next;
r=k;
node *j;
int i;
int flag=1;
printf("请输入你要出哪个警:\n");
scanf("%d",&i);
while(p!=NULL&&flag==1)
{
if(p->bianhao==i)
{
q=(jilu*)malloc(sizeof(jilu));
q->bianhao=p->bianhao;
strcpy(q->neirong,p->neirong);
strcpy(q->time,p->time);
r->next=q;
r=q;
r->next=NULL;
flag=0;
if(p=l->next)
l->next=p->next;
else
j->next=p->next;
free(p);
}
else
{
j=p;
p=p->next;
}
}
if(flag==1)
printf("无该报警信息\n");
}
void charu(node *l)
{
node *p,*q;
p=l;
int count=0;
while(p->next!=NULL)
p=p->next;
char flag='y';
while(flag=='y')
{
q=(node*)malloc(sizeof(node));
printf("报警编号:\n");
scanf("%d",&q->bianhao);
fflush(stdin);
printf("请输入报警时间:\n");
gets(q->time);
fflush(stdin);
printf("请输入报警内容:\n");
gets(q->neirong);
p->next=q;
p=q;
printf("是否继续录入报警信息:\n");
scanf("%c",&flag);
}
p->next=NULL;
node *i;
i=l;
while(i->next!=NULL)
{
count++;
i=i->next;
}
if(count>10)
{
printf("有很多警待出\n");
}
}
void xianshichujing(jilu *k)
{
jilu *p;
p=k->next;
if(p=NULL)
printf("还未出警\n");
while(p!=NULL)
{
printf("报警编号:%d",p->bianhao);
printf("报警信息:%s",p->neirong);
printf("报警时间:%s\n",p->time);
p=p->next;
}
}
void main()
{
node *l;
int i,j;
jilu *k;
l=(node *)malloc(sizeof(node));
k=(jilu *)malloc(sizeof(jilu));
l->next=NULL;
k->next=NULL;
for(i=0;i<6;i++)
{
Sleep(1000);
printf(" sos ");
}
printf("初始化报警信息:\n");
chushihua(l);
display(l);
while(1)
{
printf("1:出警系统启动\n");
printf("2:出警信息显示\n");
printf("3:显示报警信息\n");
printf("4:新的报警系统\n");
printf("5:结束\n");
fflush(stdin);
scanf("%d",&j);
switch(j)
{
case 1:
chujing(l,k);
break;
case 2:
xianshichujing(k);
break;
case 3:
display(l);
break;
case 4:
charu(l);
break;
case 5:
exit(0);
break;
default:
printf("error");
}
}
}
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
#include<windows.h>
typedef struct node
{
char time[20];
char neirong[40];
int bianhao;
node *next;
}node;
typedef struct jilu
{
char time[20];
char neirong[40];
int bianhao;
jilu *next;
}jilu;
void chushihua(node *l)
{
node *p,*q;
p=l;
char flag='y';
while(flag=='y')
{
q=(node*)malloc(sizeof(node));
printf("报警编号:\n");
scanf("%d",&q->bianhao);
fflush(stdin);
printf("请输入报警时间:\n");
gets(q->time);
printf("请输入报警内容:\n");
fflush(stdin);
gets(q->neirong);
p->next=q;
p=q;
printf("是否继续录入报警信息:\n");
fflush(stdin);
scanf("%c",&flag);
}
p->next=NULL;
}
void display(node *l)
{
node *p;
p=l->next;
while(p!=NULL)
{
printf("报警编号:%d",p->bianhao);
printf("报警信息:%s",p->neirong);
printf("报警时间:%s\n",p->time);
p=p->next;
}
}
void chujing(node *l,jilu *k)
{
node *p;
jilu *q,*r;
p=l->next;
r=k;
node *j;
int i;
int flag=1;
printf("请输入你要出哪个警:\n");
scanf("%d",&i);
while(p!=NULL&&flag==1)
{
if(p->bianhao==i)
{
q=(jilu*)malloc(sizeof(jilu));
q->bianhao=p->bianhao;
strcpy(q->neirong,p->neirong);
strcpy(q->time,p->time);
r->next=q;
r=q;
r->next=NULL;
flag=0;
if(p=l->next)
l->next=p->next;
else
j->next=p->next;
free(p);
}
else
{
j=p;
p=p->next;
}
}
if(flag==1)
printf("无该报警信息\n");
}
void charu(node *l)
{
node *p,*q;
p=l;
int count=0;
while(p->next!=NULL)
p=p->next;
char flag='y';
while(flag=='y')
{
q=(node*)malloc(sizeof(node));
printf("报警编号:\n");
scanf("%d",&q->bianhao);
fflush(stdin);
printf("请输入报警时间:\n");
gets(q->time);
fflush(stdin);
printf("请输入报警内容:\n");
gets(q->neirong);
p->next=q;
p=q;
printf("是否继续录入报警信息:\n");
scanf("%c",&flag);
}
p->next=NULL;
node *i;
i=l;
while(i->next!=NULL)
{
count++;
i=i->next;
}
if(count>10)
{
printf("有很多警待出\n");
}
}
void xianshichujing(jilu *k)
{
jilu *p;
p=k->next;
if(p=NULL)
printf("还未出警\n");
while(p!=NULL)
{
printf("报警编号:%d",p->bianhao);
printf("报警信息:%s",p->neirong);
printf("报警时间:%s\n",p->time);
p=p->next;
}
}
void main()
{
node *l;
int i,j;
jilu *k;
l=(node *)malloc(sizeof(node));
k=(jilu *)malloc(sizeof(jilu));
l->next=NULL;
k->next=NULL;
for(i=0;i<6;i++)
{
Sleep(1000);
printf(" sos ");
}
printf("初始化报警信息:\n");
chushihua(l);
display(l);
while(1)
{
printf("1:出警系统启动\n");
printf("2:出警信息显示\n");
printf("3:显示报警信息\n");
printf("4:新的报警系统\n");
printf("5:结束\n");
fflush(stdin);
scanf("%d",&j);
switch(j)
{
case 1:
chujing(l,k);
break;
case 2:
xianshichujing(k);
break;
case 3:
display(l);
break;
case 4:
charu(l);
break;
case 5:
exit(0);
break;
default:
printf("error");
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-05-23 广告
力控云组态监控平台-FWebSCADA的核心优势1. 一体化集成,便捷部署,大幅降低运维成本FWebSCADA 采用采集 + 存储 + 服务 + 平台一体化设计。一体化部署设计大大降低采集、存储、服务之间的传输延时,降低运维成本,提高安全性...
点击进入详情页
本回答由力控科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询