/
PIPE_APP.CPP
83 lines (73 loc) · 1.69 KB
/
PIPE_APP.CPP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//#include "\TURBOC3\PROJECTS\PIPES.H"
#include "\TURBOC3\PROJECTS\PIPES.CPP"
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
int main()
{
Source src(100);
Pipe pipe1(80);
Valve valve1(on);
Tank tank1(60);
Switch switch1(&tank1,300);
Switch switch2(&tank1, 50);
Pipe pipe2(80);
Sink sink1(30);
Pipe pipe3(40);
Valve valve2(on);
Tank tank2(80);
Switch switch3(&tank2, 250);
Switch switch4(&tank2, 50);
Sink sink2(20);
while( !kbhit() )
{
src>=pipe1;
pipe1>=valve1;
valve1>=tank1;
Tee(tank1,pipe2,pipe3);
pipe2>=sink1;
pipe3>=valve2;
valve2>=tank2;
tank2>=sink2;
src.Tick();
pipe1.Tick();
valve1.Tick();
tank1.Tick();
switch1.Tick();
switch2.Tick();
pipe2.Tick();
sink1.Tick();
pipe3.Tick();
valve2.Tick();
tank2.Tick();
switch3.Tick();
switch4.Tick();
sink2.Tick();
if(valve1.Status()==on&& switch1.Status()==on)
valve1.Status()=off;
if (valve1.Status()==off && switch2.Status()==off)
valve1.Status()=on;
if(valve2.Status()==on && switch3.Status()==on)
valve2.Status()=off;
if(valve2.Status()==off && switch4.Status()==off)
valve2.Status()=on;
cout<<" Src=" <<setw(2)<<src.Flow();
cout<<" p1="<<setw(2)<<pipe1.Flow();
if(valve1.Status()==off)
cout<<" v1=off";
else
cout<<" v1=on";
cout<<" T1="<<setw(3)<<tank1.Contents();
cout<<" p2="<<setw(2)<<pipe2.Flow();
cout<<" Sink1= "<<setw(2)<<sink1.Flow();
cout<<" p3="<<setw(2)<<pipe3.Flow();
if(valve2.Status()==off)
cout<<" v2=off";
else
cout<<" v2=on";
cout<<" T2= "<<setw(3)<<tank2.Contents();
cout<<" sink2= "<<setw(2)<<sink2.Flow();
cout<<"\n";
}
return 0;
}