问题描述:建立一个报警和出警管理的系统
基本要求:
1. 采用一定的存储结构存储报警信息,要求有内容、时间;
2. 有一次的出警就应该在待处理的信息中删除这条信息;
3. 记录出警信息;
4. 待处理信息过多时会发出警告;
用c或c++做,程序漏洞尽量少一点.我的QQ:1249812018
跪求 数据结构课程设计——实时监控报警系统 急急急急急急急急!!!!!
答案:2 悬赏:40 手机版
解决时间 2021-04-04 04:20
- 提问者网友:我是我
- 2021-04-03 19:32
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-03 21:08
#include
#include
#include
#include
#include
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
#include
#include
#include
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");
}
}
}
全部回答
- 1楼网友:詩光轨車
- 2021-04-03 22:02
难度很大呀.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯