Курсовая работа: Разработка средств моделирования систем
Buf.str("");
goto M2;
break;
case 3:
nQ++;
Buf<<Seize.str();
Seize.str("");
Seize<<"QUEUE
Q_"<<nQ<<endl<<Buf.str();
Buf.str("");
Buf<<Advance.str();
Advance.str("");
Advance<<Buf.str()<<"DEPART
Q_"<<nQ<<endl;
Buf.str("");
goto M2;
break;
case 4:
break;
default:
cout<<"ВВедено неверно!!!\n";
goto M1;
break;
}
S<<Seize.str()<<Advance.str()<<"RELEASE
F_"<<nFas<<endl;
system("cls");
return S.str();
}
string TRANSFER(int ukaz,float ver,int uzel1,int
uzel2)
{
ostringstream S;
if(ukaz!=0)
S<<"U_"<<ukaz<<" ";
S<<"TRANSFER "<<ver<<",U_"<<uzel2<<",U_"<<uzel1<<endl;
system("cls");
return S.str();
}
string TERMINATE(int ukaz)
{
int x;
ostringstream S;
if(ukaz!=0)
S<<"U_"<<ukaz<<" ";
cout<<"Сколько тразактов извлечь: ";
cin>>x;
S<<"TERMINATE "<<x<<endl;
system("cls");
return S.str();
}
void FUNCTION()
{
nF++;
int n;
float x;
cout<<"Номер генератора(аргумент ф-ии): ";
cin>>n;
file<<"F_"<<nF<<"
FUNCTION RN"<<n<<",";
cout<<"Тип функции:\n";
cout<<"1 - С кусочно-линейной
(непрерывной) аппроксимацией (С);\n";
cout<<"2 - С ступенчатой (дискретной)
аппроксимацией (D);\n";
cout<<"3 - Табличное, точечное задание
функции без аппроксимации (L);\n";
cout<<"4 - Задание дискретной
атрибутивной (E)\n";
cout<<"5 - Задание табличной
атрибутивной (M)\n";
M1:
cout<<"Ваш выбор: ";
cin>>n;
switch (n)
{
case 1:file<<"C";break;
case 2:file<<"D";break;
case 3:file<<"L";break;
case 4:file<<"E";break;
case 5:file<<"M";break;
default:
cout<<"ВВедено
неверно!!!\n";
goto M1;
break;
}
cout<<"Число точек:
";
cin>>n;
file<<n<<endl;
for(int i=1;i<=n;i++)
{
cout<<"X["<<i<<"]=";
cin>>x;
file<<x<<",";
cout<<"Y["<<i<<"]=";
cin>>x;
file<<x;
if(i<n)
file<<"/";
}
file<<endl;
}
string FStand()
{
int n;
string S;
cout<<"1 -
BETA(Stream,Min,Max,Shape1,Shape2);\n";
cout<<"2 -
BINOMIAL(Stream,TrialCount,Probability);\n";
cout<<"3 -
DUNIFORM(Stream,Min,Max);\n";
cout<<"4 -
EXPONENTIAL(Stream,Locate,Scale);\n";
cout<<"5 -
EXTVALA(Stream,Locate,Scale);\n";
cout<<"6 -
EXTVALB(Stream,Locate,Scale);\n";
cout<<"7 -
GAMMA(Stream,Locate,Scale,Shape);\n";
cout<<"8 -
GEOMETRIC(Stream,Probability);\n";
cout<<"9 -
INVGAUSS(Stream,Locate,Scale,Shape);\n";
cout<<"10 -
INVWEIBULL(Stream,Locate,Scale,Shape);\n";
cout<<"11 -
LAPLACE(Stream,Locate,Scale);\n";
cout<<"12 -
LOGISTIC(Stream,Locate,Scale);\n";
cout<<"13 -
LOGLAPLACE(Stream,Locate,Scale,Shape);\n";
cout<<"14 -
LOGLOGIS(Stream,Locate,Scale,Shape);\n";
cout<<"15 -
LOGNORMAL(Stream,Locate,Scale,Shape);\n";
cout<<"16 -
NEGBINOM(Stream,SuccessCount,Probability);\n";
cout<<"17 -
NORMAL(Stream,Mean,StdDev);\n";
cout<<"18 -
PARETO(Stream,Locate,Scale );\n";
cout<<"19 -
PEARSON5(Stream,Locate,Scale,Shape);\n";
cout<<"20 -
PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );\n";
cout<<"21 -
POISSON(Stream,Mean);\n";
cout<<"22 -
TRIANGULAR(Stream,Min,Max,Mode);\n";
cout<<"23 -
UNIFORM(Stream,Min,Max );\n";
cout<<"24 -
WEIBULL(Stream,Locate,Scale,Shape );\n";
M1:
cout<<"Ваш выбор: ";
cin>>n;
switch(n)
{
case 1:return fBETA();break;
case 2:return fBINOMIAL();break;
case 3:return fDUNIFORM();break;
case 4:return
S="(EXPONENTIAL("+f_1();break;
case 5:return
S="(EXTVALA("+f_1();break;
case 6:return
S="(EXTVALB("+f_1();break;
case 7:return
S="(GAMMA("+f_2();break;
case 8:return fGEOMETRIC();break;
case 9:return
S="(INVGAUSS("+f_2();break;
case 10:return
S="(INVWEIBULL("+f_2();break;
case 11:return
S="(LAPLACE("+f_1();break;
case 12:return
S="(LOGISTIC("+f_1();break;
case 13:return
S="(LOGLAPLACE("+f_2();break;
case 14:return
S="(LOGLOGIS("+f_2();break;
case 15:return
S="(LOGNORMAL("+f_2();break;
case 16:return fNEGBINOM();break;
case 17:return fNORMAL();break;
case 18:return fPARETO();break;
case 19:return
S="(PEARSON5("+f_2();break;
case 20:return fPEARSON6();break;
case 21:return fPOISSON();break;
case 22:return fTRIANGULAR();break;
case 23:return fUNIFORM();break;
case 24:return
S="(WEIBULL("+f_2();break;
default:
cout<<"ВВедено
неверно!!!\n";
goto M1;
break;
}
}
};
class GPSSText:public GPSSOperatori
{
vector<int> oper,ukazat;
vector<float> matrix;
public:
GPSSText()
{
nF=0;nST=0;nFas=0;nQ=0;
}
void Matrix()
{
int k,n,m,uzel;
float x;
cout<<"Количество узлов: ";
cin>>uzel;
system("cls");
for(int i=1;i<=uzel;i++)
{
M1:
cout<<"Введите оператор
"<<i<<" узла:\n";
cout<<"1 - генератор;\n";
cout<<"2 - одноканальное
устройство;\n";
cout<<"3 - многоканальное
устройство;\n";
cout<<"4 - вероятностный
узел;\n";
cout<<"5 - терминатор;\n";
cout<<"Ваш выбор: ";
cin>>n;
if((n<1)&&(n>5))
{
cout<<"ВВедено
неверно!!!\n";
goto M1;
}
oper.push_back(n);
if(n==4)
{
M2:
cout<<"На какой узел идет
(по возрастанию): ";
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 |