Está en la página 1de 7

// DISEO POR TORSION.cpp: define el punto de entrada de la aplicacin de consola.

//
#include "stdafx.h"
#include "stdio.h" )recoonocer printf y scanf
#include "math.h" ecuaciones matematicas
int _tmain(int argc, _TCHAR* argv[])
{
int o,numeroestribo,f,i,sa,sb,sc;
float Mb[10]
[3],fc,fy,wD,wL,tD,tL,h,d,b,bw,hf,recub,L,Pesoviga,wu,Vud,Pcp,Acp,Aoh,Ao,Ph,Vc,Vn,Tu,Tud,Tmax,Tn,At,
s,destribo,ss[3];
float Ec,El,s1,s2,s3,xc,Tuc,Amin,Amenor,Ausado,Tux,Al,Almin,la,lb,x1,x2,x3,Vs;
//Asec:area de seccion
//
printf(" \t\n");
printf(" \t
DISEO POR TOSION
\n");
printf(" \t \n");
printf("\n\n DATOS DE INGRESO");
printf("\n ");
printf("\n\n 1.f'c(kg/cm2): ");420
scanf("%f",&fc);
printf("\n 2.fy(kg/cm2): ");
scanf("%f",&fy);
printf("\n 3.Carga Viva (kg/m): ");
scanf("%f",&wL);
printf("\n 4.Carga muerta (kg/m): ");
scanf("%f",&wD);
printf("\n 5.Momento originado por la carga muerta (kg-m/m): ");
scanf("%f",&tD);
printf("\n 6.Momento originado por la carga viva (kg-m/m): ");
scanf("%f",&tL);
printf("\n 7.Luz libre (m): ");
scanf("%f",&L);
printf("\n 8.Recubrimiento (cm): ");
scanf("%f",&recub);
printf("\n 9.Altura de la viga (cm): ");
scanf("%f",&h);
printf("\n 10.Altura losa (cm): ");
scanf("%f",&hf);
printf("\n 11.Vlor de 'bw' (cm): ");
scanf("%f",&bw);
printf("\n 12.Valor de 'b'(cm): ");
scanf("%f",&b);
printf("\n 13.Peralte efectivo (d)(cm): ");
scanf("%f",&d);
printf("\n\n::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ");

Acp=(h-hf)*bw+hf*b;
Pesoviga=2400*(Acp/10000);
wu=1.2*(wD+Pesoviga)+1.6*wL;
printf("\n\n *La carga actuante es (wu): %0.2f kg/m",wu);
Vud=(wu*L/2)-(wu*(d/100));
printf("\n *El cortante critico es (Vud): %0.2f kg",Vud);
Tu=1.2*tD+1.6*tL;
printf("\n *El momento actuante es (Tu): %0.2f kg-m/m",Tu);
Tud=((Tu*L/2)-(Tu*(d/100)))*100;
printf("\n *El momento critico es (Tud): %0.2f kg-cm",Tud);
printf("\n\n ................................................");
printf("\n\n *Area de la seccin (Acp): %0.2f cm2",Acp);
Pcp=2*(b+h);
printf("\n *Perimetro de la seccin (Pcp): %0.2f cm",Pcp);
printf("\n\n ................................................");
Tmax=0.27*0.75*sqrt(fc)*(Acp*Acp)/(Pcp*100);
printf("\n\n El momento maximo (Tmax)es: %0.2f kg-m",Tmax);
if(Tud<=Tmax)
{
printf("\n\t No se considera la torsion porqueTud<=Tmax ");
}
else
{
printf("\n\t Debe considerarse la torsion en el diseo Tud mayor Tmax ");
printf("\n\n_________________________________________________________________");
Aoh=(b-2*recub)*(hf-2*recub)+(h-hf)*(bw-2*recub);
Ao=0.85*Aoh;
printf("\n\n Area encerrada en los estribos (Aoh): %0.2f cm2",Aoh);
printf("\n\n Area encerrada por el flujo de corte de la seccion (Ah): %0.2f cm2",Ao);
printf("\n\n ");
Tn=Tud/0.75;
printf("\n\n Tn: %0.2f kg-cm",Tn);
Vc=0.53*sqrt(fc)*(bw*d);
printf("\n\n Cortante del concreto (Vc): %0.2f kg",Vc);
Vn=Vud/0.75;
printf("\n\n Cortante del normal (Vn): %0.2f kg",Vn);

// Verificacion de requisitos de espaciamiento por corte


printf("\n\n ////////////////////////////////////");
printf("\n\n Ingrese numero de estribo a utilizar: ");
scanf("%d",&numeroestribo);
cuadro de aceros /
Mb[1][1]=3; Mb[1][2]=0.95; Mb[1][3]=0.71;
Mb[2][1]=4; Mb[2][2]=1.27; Mb[2][3]=1.27;
Mb[3][1]=5; Mb[3][2]=1.59; Mb[3][3]=1.98;
Mb[4][1]=6; Mb[4][2]=1.91; Mb[4][3]=2.85;
Mb[5][1]=7; Mb[5][2]=2.22; Mb[5][3]=3.88;
Mb[6][1]=8; Mb[6][2]=2.54; Mb[6][3]=5.07;
Mb[7][1]=9; Mb[7][2]=2.86; Mb[7][3]=6.41;
Mb[8][1]=10;Mb[8][2]=3.18; Mb[8][3]=7.92;
Mb[9][1]=11;Mb[9][2]=3.49; Mb[9][3]=9.58;
Mb[10][1]=12;Mb[10][2]=3.81; Mb[10][3]=11.4;
f=numeroestribo-2;
destribo=Mb[f][2];
At=Mb[f][3];
printf("\n El diametro de estribo elegido es %0.2f cm y su area es %0.2f cm2",destribo,At);
//REQUISITOS POR CORTE//

s=(2*Ao*fy*At)/Tn;
printf("\n El espaciamiento es: %0.2f cm",s);
Ph=2*(h+b-4*recub);
printf("\n El perimetro dentro del estribo es (Ph): %0.2f cm",Ph);
printf("\n\n VERIFICACION DE ESPACIAMIENTO");
printf("\n \n");
s1=Ph/8;
printf("\n Ph/8= %0.2f cm",s1);
s2=30;
printf("\n s<=30");
ss[0]=s;
ss[1]=s1;
ss[2]=s2;
sa=ss[0];
for(i=0;i<3;i++)
{
if(sa>ss[i])

{
sa=ss[i];
}
}
printf("\n\n [*]El espaciamiento usado es: %d cm \n",sa);
printf("\n\n VERIFICACION DEL CONCRETO COMPRIMIDO");
printf("\n \n");
Ec=sqrt(pow((Vud/(bw*d)),2)+pow((Tud*Ph/(1.7*Aoh*Aoh)),2));
printf("\n Esfuerzo del concreto: %0.2f kg/cm2\n",Ec);
El=0.75*((Vc/(bw*b))+2.12*sqrt(fc));
printf("\n Esfuerzo limite: %0.2f kg/cm2\n",El);
if(Ec<El)
{
printf("\n El esfuerzo del concreto esta por debajo del limite");
}
else
{
printf("\n El esfuerzo del concreto esta por encima del limite");
}
printf("\n\n VERIFICACION DEL ACERO USADO EN ESTRIBOS");
printf("\n \n");
Amin=(0.2*sqrt(fc)*bw*sa)/fy;
printf("\n *Area minima requerida (Amin): %0.2f cm2\n",Amin);
Amenor=(3.5*bw*sa)/fy;
printf("\n **Area menor permitida (Amenor): %0.2f cm2\n",Amenor);
Ausado=2*At;
printf("\n ~[Area usada en estribos: %0.2f cm2]~",Ausado);
if(Ausado>=Amenor)
{
printf("\n\n Conforme");
}
else
{
Ausado=Amenor;
printf("\n\n No Conforme, Usar %0.2 cm2", Amenor);
}
printf("\n\n REFUERZO LONGITUDINAL");
printf("\n \n");
Al=(At/sa)*Ph*(fy/fy);
printf("\n\n Refuerzo longitudinal requerido: %0.2f cm2",Al);
Almin=(1.33*sqrt(fc)*Acp/fy)-((At/sa)*Ph*(fy/fy));
printf("\n\n Refuerzo longitudinal minimo: %0.2f cm2",Almin);

if(Al>=Almin)
{
printf("\n\n Conforme");
}
else
{
Al=Almin;
printf("\n\n No Conforme, Usar un area minima longitudunal de %0.2f cn2",Al);
}
printf("\n\n");
printf("\n");
// segundo tramo de la curva
printf("\n\n SEGUNDO TRAMO");
printf("\n \n");
printf("\n\n Ingrese numero de estribo a utilizar: ");
scanf("%d",&numeroestribo);
f=numeroestribo-2;
destribo=Mb[f][2];
At=Mb[f][3];
printf("\n El diametro de estribo elegido es %0.2f cm y su area es %0.2f cm2",destribo,At);
printf("\n Ingrese el valor de Tu a una distancia x (kg-cm)");
scanf("%f",&Tux);
s=(2*Ao*fy*At*0.75)/Tux;
printf("\n\n El espaciamiento es: %0.2f cm",s);
Ph=2*(h+b-4*recub);
printf("\n El perimetro dentro del estribo es (Ph): %0.2f cm",Ph);
printf("\n\n VERIFICACION DE ESPACIAMIENTO");
printf("\n \n");
s1=Ph/8;
printf("\n Ph/8= %0.2f cm",s1);
s2=30;
printf("\n s<=30");
ss[0]=s;
ss[1]=s1;
ss[2]=s2;
sb=ss[0];
for(i=0;i<3;i++)
{
if(sb>ss[i])
{
sb=ss[i];
}

}
printf("\n\n [*]El espaciamiento usado es: %d cm \n",sb);
printf("\n\n VERIFICACION DEL CONCRETO COMPRIMIDO");
printf("\n \n");
Ec=sqrt(pow((Vud/(bw*d)),2)+pow((Tux*Ph/(1.7*Aoh*Aoh)),2));
printf("\n Esfuerzo del concreto: %0.2f kg/cm2\n",Ec);
El=0.75*((Vc/(bw*b))+2.12*sqrt(fc));
printf("\n Esfuerzo limite: %0.2f kg/cm2\n",El);
if(Ec<El)
{
printf("\n El esfuerzo del concreto esta por debajo del limite");
}
else
{
printf("\n El esfuerzo del concreto esta por encima del limite");
}
printf("\n\n VERIFICACION DEL ACERO USADO EN ESTRIBOS");
printf("\n \n");
Amin=(0.2*sqrt(fc)*bw*sb)/fy;
printf("\n *Area minima requerida (Amin): %0.2f cm2\n",Amin);
Amenor=(3.5*bw*sb)/fy;
printf("\n **Area menor permitida (Amenor): %0.2f cm2\n",Amenor);
Ausado=2*At;
printf("\n ~[Area usada en estribos: %0.2f cm2]~",Ausado);
if(Ausado>=Amenor)
{
printf("\n\n Conforme");
}
else
{
Ausado=Amenor;
printf("\n\n No Conforme, Usar %0.2 cm2", Amenor);
}
printf("\n\n REFUERZO LONGITUDINAL");
printf("\n \n");
Al=(At/sb)*Ph*(fy/fy);
printf("\n\n Refuerzo longitudinal requerido: %0.2f cm2",Al);
Almin=(1.33*sqrt(fc)*Acp/fy)-((At/sb)*Ph*(fy/fy));
printf("\n\n Refuerzo longitudinal minimo: %0.2f cm2",Almin);
if(Al>=Almin)
{
printf("\n\n Conforme");

}
else
{
Al=Almin;
printf("\n\n No Conforme, Usar un area minima longitudunal de %0.2f cn2",Al);
}
printf("\n");

}
printf("\n Oprima 0 para salir: ");
scanf("%d",&o);

return 0;
}

También podría gustarte