Скачиваний:
12
Добавлен:
16.04.2013
Размер:
5.29 Кб
Скачать
#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;
}
Соседние файлы в папке Расчёт эффективности экранирования