📄 仿真.cpp
字号:
#include "stdlib.h"
#include "stdio.h"
#include"iostream.h"
#include <string.h>
#include "time.h"
bool random() //产生随机数0和1;
{ bool x;
x=rand()%2;
return x;
}
void main( void )
{
bool p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p151,p161,p171;
char flag[5],f[2];
for(int i=1;;i++){
cout<<"输入故障点(p1-p17)和故障类型(固定为0或1),如设p10的故障为s-a-0,则输入10s0:"<<endl;
cin>>flag;
for(int j=1;;j++){
srand( (unsigned)time( NULL ) );/*将当前时间设置成随机函数的种子,使每次产生的随机数不同*/
p1=random();
p2=random();
p3=random();
p4=random();
p5=random();
p6=!(p1||p2); //无故障电路输出端的值
p7=!p3;
p8=!(p4||p5);
p15=p6&&p7;
p16=p6-p8;
p17=p7&&p8;
cout<<endl<<"当前随机向量为:";
cout<<p1<<'\t'<<p2<<'\t'<<p3<<'\t'<<p4<<'\t'<<p5<<endl;
if(!strcmp(flag,"1s0")) //若p1的故障为固定为0
p1=0;
if(!strcmp(flag,"1s1")) //若p1的故障为固定为0
p1=1;
if(!strcmp(flag,"2s0"))
p2=0;
if(!strcmp(flag,"2s1"))
p2=1;
p6=!(p1||p2);
if(!strcmp(flag,"3s0"))
p3=0;
if(!strcmp(flag,"3s1"))
p3=1;
p7=!p3;
if(!strcmp(flag,"4s0"))
p4=0;
if(!strcmp(flag,"4s1"))
p4=1;
if(!strcmp(flag,"5s0"))
p5=0;
if(!strcmp(flag,"5s1"))
p5=1;
p8=!(p4||p5);
if(!strcmp(flag,"6s0"))
p6=0;
if(!strcmp(flag,"6s1"))
p6=1;
p9=p6;
p11=p6;
if(!strcmp(flag,"7s0"))
p7=0;
if(!strcmp(flag,"7s1"))
p7=1;
p10=p7;
p13=p7;
if(!strcmp(flag,"8s0"))
p8=0;
if(!strcmp(flag,"8s1"))
p8=1;
p12=p8;
p14=p8;
if(!strcmp(flag,"9s0"))
p9=0;
if(!strcmp(flag,"9s1"))
p9=1;
if(!strcmp(flag,"10s0"))
p10=0;
if(!strcmp(flag,"10s1"))
p10=1;
p151=p9&&p10;
if(!strcmp(flag,"11s0"))
p11=0;
if(!strcmp(flag,"11s1"))
p11=1;
if(!strcmp(flag,"12s0"))
p12=0;
if(!strcmp(flag,"12s1"))
p12=1;
p161=p11-p12;
if(!strcmp(flag,"13s0"))
p13=0;
if(!strcmp(flag,"13s1"))
p13=1;
if(!strcmp(flag,"14s0"))
p14=0;
if(!strcmp(flag,"14s1"))
p14=1;
p171=p13&&p14;
if(!strcmp(flag,"15s0"))
p151=0;
if(!strcmp(flag,"15s1"))
p151=1;
if(!strcmp(flag,"16s0"))
p161=0;
if(!strcmp(flag,"16s1"))
p161=0;
if(!strcmp(flag,"17s0"))
p171=0;
if(!strcmp(flag,"173s1"))
p171=1;
cout<<"无故障时输出为:";
cout<<p15<<'\t'<<p16<<'\t'<<p17<<endl;
cout<<"故障测试输出为:";
cout<<p151<<'\t'<<p161<<'\t'<<p171<<'\t';
if(p15==p151&&p16==p161&&p17==p171)
cout<<"Fault test Faild!";
else
cout<<"Fault test Succeed!";
cout<<endl<<endl<<"按任意键+enter键继续产生随机向量测试, 按y+enter键重新设置故障点"<<endl<<endl;
cin>>f;
if(!strcmp(f,"y"))
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -