Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовые / Расчёт эффективности экранирования / FIST
.CPP#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
const float pi=3.1446,m0=4*pi*pow(10,-7);
float d, //„Ё ¬Ґва нЄа
l, //„«Ё нЄа
dst, //’«йЁ б⥮Є нЄа
s, //Џ«®й ¤м ®б®ў Ёп Ґ жЁ«Ё¤аЁзҐбЄ®Ј® нЄа
me, //Њ ЈЁв п Їа®Ёж Ґ¬®бвм ¬ вҐаЁ « нЄа
ro, //“¤Ґ«м®Ґ б®Їа®вЁў«ҐЁҐ ¬ вҐаЁ « нЄа
fr, //ђ Ў®з п з бв®в
w, //–ЁЄ«ЁзҐбЄ п з бв®в
So[100], //Њ ббЁў Ї«®й ¤Ґ© ®вўҐабвЁ© ў нЄа Ґ
a, //ЏҐаў п Ї®«г®бм нЄўЁў «Ґв®Ј® н«ЁЇб®Ё¤
c, //‚в®а п Ї®«г®бм нЄўЁў «Ґв®Ј® н«ЁЇб®Ё¤
def, //ќддЁЄвЁў п в®«йЁ б⥮Є нЄа
kfst, //‘в вЁзҐбЄЁ© Є®нддЁжЁнв б⥮Є нЄа
kfdin, //„Ё ¬ЁзҐбЄЁ© Є®нддЁжЁнв б⥮Є нЄа
lo, //ЋЇаҐ¤Ґ«пойЁ© а §¬Ґа нЄа
h, //Ћв®иҐЁҐ c/a, ўбЇ®¬®Ј ⥫м п ЇҐаҐ¬Ґ п
Se, //Џ«®й ¤м нЄа
e[100], //Њ ббЁў ¤«п а бзҐв нддЁЄвЁў®бвЁ ЇаЁ «ЁзЁЁ ®вў.
eff; //ќд䥪⨢®бвм нЄа Ёа®ў Ёп
int
f, //ЋЇаҐ¤Ґ«пҐв д®а¬г нЄа
m, //ЋЇаҐ¤Ґ«пҐв ¬ вҐаЁ « нЄа
n; //—Ёб«® ®вўҐабвЁ© ў нЄа Ґ
void forma(void); //”гЄжЁп ўў®¤ д®а¬л Ё а §¬Ґа®ў нЄа
void material(void); //”гЄжЁп ўў®¤ ¬ вҐаЁ « нЄа
void chastota(void); //”гЄжЁп ўў®¤ з бв®вл
void otverstia(void); //”гЄжЁп ўў®¤ зЁб« ®вўабвЁ©, Ёе а §¬Ґа®ў
void raschet(void); //”гЄжЁп а бзҐв нд䥪⨢®бвЁ нЄа Ёа®ў Ёп
void zapis(void); //”гЄжЁп § ЇЁбЁ ў д ©«
void koefst(); //”гЄжЁп ®ЇаҐ¤. бв в. Є®нд. д®а¬л, Ё ®ЇаҐ¤. а §¬Ґа нЄа
void koefdin(); //”гЄжЁп ®ЇаҐ¤. ¤Ё ¬. Є®нд. д®а¬л
main()
{
clrscr();
printf("Џа®Ја ¬¬ а бзҐв нд䥪⨢®бвЁ нЄа .\n\n");
forma();
chastota();
material();
otverstia();
raschet();
zapis();
getch();
}
void forma(void)
{
printf("‚лЎҐаЁвҐ д®а¬г нЄа :\n");
printf("\n1. –Ё«Ё¤а б ЄагЈ«л¬ ®б®ў ЁҐ¬.");
printf("\n2. –Ё«Ё¤а б Їа®Ё§ў®«мл¬ ®б®ў ЁҐ¬.");
printf("\n1/2? >");
scanf("%d",&f);
switch (f)
{
case 1:
{
printf("\n‚бҐ а §¬Ґал гЄ §лў вм ў ¬Ё««Ё¬Ґва е!\n");
printf("‚ўҐ¤ЁвҐ ¤Ё ¬Ґва нЄа d >");
scanf("%f",&d);
printf("‚ўҐ¤ЁвҐ ¤«Ёг нЄа l >");
scanf("%f",&l);
printf("‚ўҐ¤ЁвҐ в®«йЁг б⥮Є нЄа dst >");
scanf("%f",&dst);
break;
}
case 2:
{
printf("\n‚бҐ а §¬Ґал гЄ §лў вм ў ¬Ё««Ё¬Ґва е!\n");
printf("‚ўҐ¤ЁвҐ Ї«®й ¤м ®б®ў Ёп нЄа s >");
scanf("%f",&s);
d=sqrt(4*s/pi);
printf("‚ўҐ¤ЁвҐ ¤«Ёг нЄа l >");
scanf("%f",&l);
printf("‚ўҐ¤ЁвҐ в®«йЁг б⥮Є нЄа dst >");
scanf("%f",&dst);
break;
}
default :forma();
}
}
void material(void)
{
printf("‚лЎҐаЁвҐ ¬ вҐаЁ « нЄа :\n");
printf("\n1. ЊҐ¤м.");
printf("\n2. Ђ«о¬ЁЁ©.");
printf("\n3. ‹ вгм.");
printf("\n4. ‘в «м.");
printf("\n5. ЏҐа¬ «®©.");
printf("\n1/2/3/4/5? >");
scanf("%d",&m);
switch (m)
{
case 1: me=1;ro=1.75*pow(10,-8);break;
case 2: me=1;ro=3.2*pow(10,-8);break;
case 3: me=1;ro=6.0*pow(10,-8);break;
case 4: if (fr>1000000)
me=pow(10,(log10(100)-log10(fr)+log10(1000000)));
else
me=100;
ro=1.0*pow(10,-7);break;
case 5: if (fr>100000)
me=pow(10,(log10(12000)-log10(fr)+log10(100000)));
else
me=12000;
ro=6.5*pow(10,-7);break;
default :material();
}
}
void chastota(void)
{
printf("\n‚ўҐ¤ЁвҐ з бв®вг fr(ѓж) >");
scanf("%f",&fr);
}
void otverstia(void)
{
int j;
printf("\n‚ўҐ¤ЁвҐ зЁб«® ®вўҐабвЁ© n >");
scanf("%d",&n);
for(j=0;j<n;j++)
{
printf("\n‚ўҐ¤ЁвҐ Ї«®й ¤м %d-Ј® ®вўҐабвЁп So >",j+1);
scanf("%f",&So[j]);
}
}
void raschet(void)
{
int j;
d=d/1000;
l=l/1000;
dst=dst/1000;
a=d/2;
c=l/2;
w=2*pi*fr;
if (w==0) def=dst;
else
def=2*sqrt(2*ro/(me*m0*w));
if (f==1)
Se=pi*d*l+2*pi*pow(d,2)/4;
if (f==2)
Se=pi*sqrt(4*s/pi)*l+2*s;
if (def>dst) def=dst;
koefst();
koefdin();
if (n==0)
eff=sqrt(pow((1+(me+1/me-2)*(kfst*def/lo)),2)+pow((w*m0*lo*dst/(kfdin*ro)),2));
else
{
eff=0;
for(j=0;j<n;j++)
{
e[j]=0.25*sqrt(pow((Se),3)/pow((So[j]),3));
eff=eff+e[j];
}
eff=1+1/eff;
}
printf("\nќд䥪⨢®бвм нЄа Ёа®ў Ёп ќ=%f",eff);
}
void zapis(void)
{
FILE *fp;
fp=fopen("eff.txt","w");
fprintf(fp,"ђҐ§г«мв вл а бзҐв нд䥪⨢®бвЁ нЄа Ёа®ў Ёп.");
fprintf(fp,"\n„Ё ¬Ґва нЄа (¬): %f",d);
fprintf(fp,"\n„«Ё нЄа (¬): %f",l);
fprintf(fp,"\nЋЇаҐ¤Ґ«пойЁ© а §¬Ґа нЄа (¬): %f",lo);
fprintf(fp,"\nќд䥪⨢ п в®«йЁ нЄа (¬): %f",def);
fprintf(fp,"\nЊ ЈЁв п Їа®Ёж Ґ¬®бвм нЄа : %f",me);
fprintf(fp,"\n“¤Ґ«м®Ґ б®Їа®вЁў«ҐЁҐ нЄа (Ћ¬*¬): %10.10f",ro);
fprintf(fp,"\n‘в вЁзҐбЄЁ© Є®нддЁжЁҐв д®а¬л: %3.3f",kfst);
fprintf(fp,"\n„Ё ¬ЁзҐбЄЁ© Є®нддЁжЁҐв д®а¬л: %3.3f",kfdin);
fprintf(fp,"\n—Ёб«® ®вўҐабвЁ© ў нЄа Ґ: %d",n);
fprintf(fp,"\n— бв®в (ѓж): %5.1f",fr);
fprintf(fp,"\nќд䥪⨢®бвм нЄа : %5.2f",eff);
fclose(fp);
}
void koefst()
{
h=c/a;
if (c>100*a)
{
kfst=1;
lo=d;
}
else
{
kfst=1.5;
lo=d;
}
if (h==0.2) {kfst=6.34;lo=2*c;}
if (h==0.33) {kfst=3.64;lo=2*c;}
if (h==0.5) {kfst=2.04;lo=2*c;}
if (h==1.5) {kfst=1.25;lo=2*a;}
if (h==2) {kfst=1.20;lo=2*a;}
if (h==3) {kfst=1.15;lo=2*a;}
if (h==7) {kfst=1.054;lo=2*a;}
if (h==10) {kfst=1.034;lo=2*a;}
if (h==1) {kfst=1.33;lo=d;}
}
void koefdin()
{
kfdin=4;
}