Académique Documents
Professionnel Documents
Culture Documents
ANALISIS
/* Analisis del diseño de una viga en sección T */
#include<iostream>
#include<math.h>
#include<conio.h>
int main(){
cout<<"\t\tPROGRAMA PARA VIGAS CON SECCION T"<<endl; cout<<"\tESCUELA
PROFESIONAL DE INGENIERIA CIVIL"<<endl;
cout<<"------------------------------------------------------------"<<endl;
cout<<"INTEGRANTES"<<endl;
cout<<"-AYASTA GONZALES ELVIS"<<endl;
cout<<"-COPIA RODRIGUEZ YAMPIHER"<<endl;
cout<<"-HERRERA JIMENEZ SMITH"<<endl;
cout<<"-LLUEN SAMILLAN JASBED"<<endl;
cout<<"-PURIHUAMAN CALDERÓN EDWIN"<<endl;
cout<<"------------------------------------------------------------"<<endl;
cout<<"PROGRAMA PARA EL ANALISIS DE VIGAS CON SECCION T"<<endl;
int nsb,nb1=0,Nb1,Nb2,ncapas=0;
float b,h, hf, bw , d, B1, fc, fy, Db1, Db2, Ab1, Ab2, C, Cm, Cm1, Cm2, Cf, Cb1, Cb, Cmax;
float funcionretorno(int nb1);
float funcionretornar(int nb1);
float Fi,Dsb, cDb1, cDb2, As,As1, As2, Asf, a, Mn, Mu;
cout<<"\n a) DATOS:"<<endl;
cout<<"\n-Digite el ancho del ala(cm): " <<endl;cin>>b;
cout<<"-Digite la altura de la viga (cm): " <<endl;cin>>h;
cout<<"-Digite el espesor del ala (cm): " <<endl;cin>>hf;
cout<<"-Digite el ancho del alma de la viga(cm): "<<endl;cin>>bw;
cout<<"-Digite la Resistencia a la compresion del concreto (fc, kg-cm2): "<<endl;
cin>>fc;
cout<<"-Digite el Limite de fluencia del acero (fy, kg-cm2): "<<endl;cin>>fy;
do{
cout<<"digite el Nro de barra para estribo"<<endl;cin>>nb1; //Sí está
dentro del bucle te volverá a pedir el numero de estribo
}while (nb1<3||nb1>6);
Dsb=Db1=funcionretorno(nb1);
cout<<"Diametro del estribo es: "<<Dsb<<"pulg"<<endl;
do{
cout<<"Digite el numero de capas del refuerzo"<<endl;cin>>ncapas;
}while (ncapas<1||ncapas>2);
if(ncapas==1){
cout<<"Digite la cantidad de aceros de refuerzo"<<endl;cin>>Nb1;
do{
cout<<"Digite el Nro de barra del acero de refuerzo"<<endl;cin>>nb1;
}while (nb1<3||nb1>12);
Db1=funcionretorno(nb1);cout<<"Diametro del acero es:
"<<Db1<<"pulg"<<endl;
Ab1=funcionretornar(nb1);cout<<"Area del acero es: "<<Ab1<<"cm2"<<endl;
cDb1=Db1/2; d=h-(4+2.54*(Dsb+cDb1));As=Nb1*Ab1; //
cDb1= centroide de la Db1
cout<<"\t\nVALORES ENCONTRADOS: \n"<<"\nEl peralte efectivo es :
"<<d<<"cm"<<endl;
cout<<"El area de refuerzo es: "<<As<<"cm2"<<endl;
As1=Nb1*Ab1;As2=Nb2*Ab2;As=As1+As2;
cDb2=(((Db1/2)*As1)+((Db1+(Db2/2)+1)*As2))/(As1+As2);
d=h-(4+2.54*(Dsb+cDb2));
cout<<"\t\nVALORES ENCONTRADOS: \n"<<"\nEl peralte efectivo es
:"<<d<<"cm"<<endl<<"el area de refuerzo es: "<<As<<"cm2"<<endl;
}
C=As/(b*d); // cuantia
cout<<"la cuantia es: "<<C<<endl;
Cm1=(0.8*sqrt(fc))/(fy);
cout<<"La cuantia minima (1) es: "<<Cm1<<endl;
Cm2=14/fy;
cout<<"La cuantia minima (2) es: "<<Cm2<<endl;
if (Cm1<Cm2){
Cm=Cm1; cout<<"La cuantia minima es: "<<Cm<<endl;
}
else{
Cm=Cm2, cout<<"La cuantia minima es: "<<Cm<<endl;
}
Cb=(Cb1+Cf)*bw/b;
cout<<"La cuantia balanceada es: "<<Cb<<endl;
a=As*fy/(0.85*fc*b);
cout<<"El valor de (a) es: "<<a<<endl;
Fi=0.9;
if (a<=hf){
cout<<"La viga actua como seccion rectangular"<<endl;
Mn=As*fy*100*(d-a/2); cout<<"MOMENTO NOMINAL: "<<Mn<<endl;
Mu=Fi*Mn; cout<<"MOMENTO CONFIABLE: "<<Mu<<endl;
}
else{
cout<<"La viga actua como seccion T"<<endl;
As1= As- Asf; cout<<"El valor del (As1) es: "<<As1<<endl;
a= As1*fy/(0.85*fc*bw); cout<<"El verdadero valor de (a) es: "<<a<<endl;
Mn=As1*fy*100*(d-a/2)+As2*fy*100*(d-hf/2); cout<<"MOMENTO NOMINAL:
"<<Mn<<endl;
Mu=Fi*Mn; cout<<"MOMENTO CONFIABLE: "<<Mu<<endl;
getch ();
return 0;
}
float funcionretorno(int nb1){
float Db1;
switch (nb1){
case 3: Db1=.375;break;
case 4: Db1=.5;break;
case 5: Db1=.625;break;
case 6: Db1=.75;break;
case 7: Db1=.10714;break;
case 8: Db1=1;break;
case 9: Db1=1.125;break;
case 10: Db1=1.25;break;
case 11: Db1=1.375;break;
case 12: Db1=1.5;break;
}
return Db1;
}
return Ab1;
DISEÑO
else if(z==2){Cr=0.75;}
//Hallamos B1
if(fc<=280){
B1=0.85;cout<<"-el valor de B1 es : "<<B1<<endl;}
else{
B1=(0.85-(.05*(fc-280)/70));
if (B1>0.65){
B1=B1;cout<<"-el valor de B1 es : "<<B1<<endl;}
else{
B1=0.65;cout<<"-el valor de B1 es : "<<B1<<endl;}
//Determino b1
b1=bw+16*hf;
//Determinar b2
b2=bw +(s1+s2)/2;
//Determinar b3
b3= Ln/4;
do{
cout<<"Digite el Nro de barra del estribo: "<<endl;cin>>nb1; //Sí está
dentro del bucle te volverá a pedir el numero de estribo
}while (nb1<3||nb1>6);
Dsb=Dsb=funcionretorno(nb1);
cout<<"Diametro del estribo es: "<<Dsb<<"cm"<<endl;
do{
cout<<"Digite el Nro de barra a asumir del acero longitudinal:
"<<endl;cin>>nb1; //Sí está dentro del bucle te volverá a pedir el numero de estribo
}while (nb1<3||nb1>11);
Dsbl=Dsbl=funcionretorno(nb1);
cout<<"Diametro del acero longitudinal asumido es: "<<Dsbl<<"cm"<<endl;
//Calculo de As
float fi,As,a=0;
fi=0.9;
As=(Mu*100000)/(fi*fy*0.9*d);
a=(As*fy)/(0.85*fc*b);
cout<<"-As= "<<As<<"cm2"<<endl;
cout<<"-a= "<<a<<"cm"<<endl;
cout<<"-a<>hf : "<<endl;
if (a>hf){
cout<<"-LA VIGA ACTUA COMO SECCION T"<<endl;
//Hallamos As2
float As2;
As2=(0.85*fc*(b-bw)*hf)/(fy);
cout<<"-La cantidad de Acero del Ala As2 es: "<<As2<<"cm2"<<endl;
//hallamos Mu2
float Mu2;
Mu2=fi*As2*(fy/1000)*((d/100)-(hf/200));
cout<<"-El mometo en el ala Mu2 es: "<<Mu2<<"tn*m"<<endl;
//calculo de Mu1
float Mu1;
Mu1=Mu-Mu2;
cout<<"-El mometo en el alma Mu1 es: "<<Mu1<<"tn*m"<<endl;
//Proceso iterativo=ai
float As1, a1,Ast, NAF; //Primera Iteracion
As1=(Mu1*pow(10,5))/(fi*fy*(0.9*d)); cout<<"El valor de As1 es: "<<As1<<endl;
a1=As1*fy/(0.85*fc*bw);
Ast=As1iii+As2;
cout<<"El area del acero total: "<<Ast<<endl;
cout<<"\nVERIFICACION DE CUANTIA\n"<<endl;
cout<<"--------------------------";
Cb1=0.85*B1*(fc/fy)*(6000/(6000+fy));
Cf=As2/(bw*d);
Cmax=Cr*(Cb1+Cf)*bw/b; cout<<"El valor de la (Cmax) es: "<<Cmax<<endl;
Cmin1=0.8*sqrt(fc)/fy; cout<<"El valor de la (Cmin1) es: "<<Cmin1<<endl;
Cmin2=14/fy; cout<<"El valor de la (Cmin2) es: "<<Cmin2<<endl;
if(Cmin1<Cmin2){
Cmin=Cmin2; cout<<"El valor de la (Cmin) es: "<<Cmin<<endl;
}else{
Cmin=Cmin1; cout<<"El valor de la (Cmin) es: "<<Cmin<<endl;
}
if(C>Cmin&&C<Cmax){
cout<<"EL DISEÑO ES CONFORME";
}else{
cout<<"EL DISEÑO NO CONFORME";
}
else{
cout<<"-LA VIGA ACTUA COMO SECCION RECTANGULAR"<<endl;
}
getch();
return 0;
}
}
return Db1;
return Ab1;