Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <cmath>
- #include <iomanip> //Подключить стандартный заголовок <iomanip> для определения нескольких манипуляторов, где каждый принимает единственный аргумент
- using namespace std;
- struct My1
- {
- double Qc, Kn, Cb, B, Cto, qb, To, qrmin, qrmax;
- };
- My1 Result1;
- double Kp, Tk, Tn, k, v;
- My1 f1(My1 Result1, double Kp, double Tk, double Tn)
- {
- v = 0.2;
- Result1.qb = (Kp*Result1.Kn *Result1.Qc) / 3600;
- Tn = Result1.B / (2 * v);
- Result1.To = Tn + Tk;
- Result1.qrmin = (0.05*Result1.Cb*Result1.qb) / (Result1.Kn *(1 - Result1.Cb));
- Result1.qrmax = Result1.qrmin *((3600 * (1 - k)) / (Result1.Kn *(Tn*(1 - k) + Tk)) + 1);
- Result1.Cto = (Result1.Kn *Result1.qrmax*Result1.To) / (Result1.Kn *Result1.Qc + (Result1.Kn *Result1.qrmax + Result1.qb)*Result1.To);
- return Result1;
- }
- My1 f1(double Kp, double Tk, double Tn, double v);
- struct My2
- {
- double Sk, n, N, S, Lд, h0, Mr, Tr;
- };
- My2 Result2;
- double kc, h, Qn, L, H, H0, Tb, Mb, M1, M2, C2, T1, T2, Br;
- My2 f2(My2 Result2, double Sk, double n, double N, double S, double Lд, double h0, double Mr, double Tr)
- {
- Result2.Sk = (0.05*Result1.Kn*Result1.Qc*k*(1 - Result1.Cto)) / (0.2*h*Result2.n*(1 - Result1.Cb));
- Result2.n = (Result1.Kn*Result1.Qc) / Qn;
- Result2.N = Result2.S / Result2.Sk;
- Result2.S = Result1.B*L;
- Result2.Lд = sqrt(Result2.Sk / 3);
- Result2.h0 = (H - H0)*((Result2.Mr *Tb) / (Mb*Result2.Tr));
- if (Result2.Mr>Mb)
- {
- Result2.h0 = H0*((Mb*Result2.Tr) / (Br*Tb));
- Result2.Mr = (M1*M2) / (M2 + ((M1 - M2)*C2));
- Result2.Tr = (T1*T2) / (T1 + ((T1 - T2)*Result1.Cb));
- }
- return Result2;
- }
- My2 f2(double Sk, double n, double N, double S, double Lд, double h0, double Mr, double Tr);
- int main(My2 Result2, My1 Result1)
- {
- setlocale(0, "Russian");
- cout << "Введите свободный объем помещения Qc=" << endl;
- cin >> Result1.Qc;
- cout << "Введите коэффициент пропорциональности, определяющий соотношение полного и свободного объема помещения Kn=" << endl;
- cin >> Result1.Kn;
- cout << "Введите кратность воздухообмена Kp=" << endl;
- cin >> Kp;
- cout << "Введите инерционность датчика взрывопредупреждения Tk=" << endl;
- cin >> Tk;
- cout << "Введите ширину помещения B=" << endl;
- cin >> Result1.B;
- cout << "Введите нижний концентрационный предел воспламенения Cb=" << endl;
- cin >> Result1.Cb;
- cout << "Введите коэффициент порогового значения концентрации для автоматического включения аварийной вентиляции k=" << endl;
- cin >> k;
- Result1 = f1(Result1, Kp, Tk, Tn);
- cout << "Введите значение коэффициента неравномерности распределения газов в помещении kc=" << endl;
- cin >> kc;
- cout << "Ведите высоту помещения h=" << endl;
- cin >> h;
- cout << "Введите количество объектов с квадратным основнием по ширине помещения n=" << endl;
- cin >> Result2.n;
- cout << "Введите длину помещения L=" << endl;
- cin >> L;
- cout << "Введите ширину помещения B=" << endl;
- cin >> Result1.B;
- cout << "Введите высоту расположения вероятного источника утечки H0=" << endl;
- cin >> H0;
- cout << "Введите молярную массу горючего газа Mr=" << endl;
- cin >> Result2.Mr;
- cout << "Введите молярную массу воздуха Mb=" << endl;
- cin >> Mb;
- cout << "Введите температуру газа Tr=" << endl;
- cin >> Result2.Tr;
- cout << "Введите температуру воздуха в помещении Tb=" << endl;
- cin >> Tb;
- cout << "Введите малярную массу более лёгкого газа M1=" << endl;
- cin >> M1;
- cout << "Введите малярную массу более тяжелого газа M2=" << endl;
- cin >> M2;
- cout << "Введите концентрацию более тяжелого газа C2=" << endl;
- cin >> C2;
- Result2 = f2(Result2, Result2.Sk, Result2.n, Result2.N, Result2.S, Result2.Lд, Result2.h0, Result2.Mr, Result2.Tr);
- cout << "qb=" << scientific << setprecision(3) << Result1.qb << endl; // scientific -Вывод чисел с плавающей точкой в экспоненциальной форме,
- cout << "To=" << scientific << setprecision(3) << Result1.To << endl; // Манипулятор setprecision(3) контролирует, сколько точек должно быть после запятой (в данном случае 3)
- cout << "qrmin=" << scientific << setprecision(3) << Result1.qrmin << endl;
- cout << "qrmax=" << scientific << setprecision(3) << Result1.qrmax << endl;
- cout << "Cto=" << scientific << setprecision(3) << Result1.Cto << endl;
- cout << "Sk=" << scientific << setprecision(3) << Result2.Sk << endl;
- cout << "n=" << scientific << setprecision(3) << Result2.n << endl;
- cout << "N=" << scientific << setprecision(3) << Result2.N << endl;
- cout << "S=" << scientific << setprecision(3) << Result2.S << endl;
- cout << "Lд=" << scientific << setprecision(3) << Result2.Lд << endl;
- cout << "h0=" << scientific << setprecision(3) << Result2.h0 << endl;
- cout << "Mr=" << scientific << setprecision(3) << Result2.Mr << endl;
- cout << "Tr=" << scientific << setprecision(3) << Result2.Tr << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement