Académique Documents
Professionnel Documents
Culture Documents
#include<cstdlib>
#include<conio.h>
#include<math.h>
int main()
{int salir,elemento_estructural;
system("COLOR F1");
do{
MENU:
system("CLS");
cout << "===============================================================================" << endl
<< "================== UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO ====================" << endl
int elemento_estructural;
cout <<"\t ==> ESCOJA QUE ELEMENTO ESTRUTURAL DESEA PREDIMENSIONAR: \n\t\t\t" << endl
if (elemento_estructural>=6)
goto MENU;
};
switch (elemento_estructural) {
case 1:
int Volver_dimensionar_losa;
do{
system("CLS");
cout << "===============================================================================" << endl
float tipo_losa,Luz,peralte_aligerado,peralte_aligerado_comercial,peralte_maciza,espesor_losa,altura_ladrillo;
cin >>Luz;
system("CLS");
int REDONDEO;
cout<<" ******************************************************************************\n";
if(tipo_losa==1)
{ peralte_aligerado=Luz*100/25;
if(peralte_aligerado<=17) peralte_aligerado_comercial=17;
espesor_losa=5;
///ALTURA DE LADRILLO
altura_ladrillo=peralte_aligerado_comercial-5;
cout<<"\t ::> TIPO DE LOSA: ALIGERARA \n\n";
if(peralte_aligerado>30){
else {
};
else
{ peralte_aligerado=Luz/35;
peralte_maciza=REDONDEO;
};
cout<<"\t\t \n";
cout<<" ==============================================================================\n";
cout<<" ==============================================================================\n";
}while(Volver_dimensionar_losa==1);
goto MENU;
break;
///
===============================================================================================================================
============
///
===============================================================================================================================
============
case 2:
int Volver_dimensionar;
do{
system("CLS");
/*las siguientes variables se usaran para definir los datos de entrada y salida:
B = ANCHO TRIBUTARIO
BX= B asterisco
PT=peso de tabiqueia
PAC=peso de acabados
SC=sobrecarga
b=base de viga
h=PERALTE DE VIGA
Em=espesor de muro
Ln=LUZ LIBRE
a=alfa
Tipo= condicion del TIPO DE USO : 1=vivivienda 2 =ofic.edif.depto 3=garajes tiendas 4= depositos A 5=depositos B
*/
VIGAS:
///DEFINICION DE VARIABLES
float B,B_adicional,B_asterisco,PAL,PT,PAC,SC,PU,WU,b1,h1,pum,Hm,Em,Luz,alfa,Sismo;
int Tipo,Muro;
///INGRESO DE DATOS
cout <<"\t\t DIGITE el longitud de LUZ LIBRE Ln(m) :"; cin >>Luz;
TIPO_USO:
system("CLS");
goto TIPO_USO;
};
switch (Tipo)
{ case 1:
SC=200;
alfa=13;
break;
case 2:
SC=250;
alfa=12;
break;
case 3:
SC=500;
alfa=11;
break;
case 4:
SC=750;
alfa=10;
break;
case 5:
SC=1000;
alfa=9;
break;
};
///MURO DE ALBAÑILERIA
system("CLS");
EXISTE_MURO:
cout <<"\t\t EXISTE MURO DE ALBANILERIA sobre la VIGA ? \n\n\t\t\t" << endl
if (Muro>2 )
system("CLS");
goto EXISTE_MURO;
};
if (Muro==1) {
system("CLS");
system("CLS");
PU=pum*Hm*Em;
WU=PAL+PT+PAC+SC;
B_adicional=PU/WU;
///DETERMINA EL ANCHO TRIBUTARIO FINAL
B_asterisco=B+B_adicional; }
else {
B_asterisco=B;
b1=B_asterisco/20*100; /*multiplicamos por 100 para obtener b y h en CENTIMETROS y asi porde redondear*/
h1=Luz/alfa*100;
int SISMO;
if (b1<25)
b2=25;
int REDONDEO_BASE,DIVISOR,REDONDEO_PERALTE;
REDONDEO_BASE=REDONDEO_BASE+1;
DIVISOR=5;
REDONDEO_PERALTE=ceil(h2);
while(REDONDEO_PERALTE%DIVISOR != 0)
REDONDEO_PERALTE=REDONDEO_PERALTE+1;
h_final=REDONDEO_PERALTE;
///IMPRESION DE RESULTADOS
cout<<" ******************************************************************************\n";
cout<<" ******************************************************************************\n";
float cambio_seccion;
if (cambio_seccion==1) {
system("CLS");
int PARAMETRO;
cout<<"\t\t\t 1)BASE" ;
if (PARAMETRO==1)
{
system("CLS");
b2=25;
};
if(SISMO==1){///CRITERIO DE RIGIDEZ
h2=pow((b1*pow(h1,3)/b2),(0.3333));
h2=sqrt(b1*pow(h1,2)/b2);
};
system("CLS");
/// se podria agregar una funcion RETURN o GOTO ?? en vez repetir codigo.
/*****************************************************************************************************************/
///REDONDEO DE BASE DE
VIGA
int
REDONDEO_BASE,DIVISOR,REDONDEO_PERALTE;
DIVISOR=5;
///buscar el multplo de 5 mas cercano superior
REDONDEO_BASE=ceil(b2);
///redondea al inmediato superior
while(REDONDEO_BASE
%DIVISOR != 0) ///*mientras REDONDEO no sea multiplo de DIVISOR, REDONDEO seguira aumentando en 1
REDONDEO_BASE=REDONDEO_BASE+1;
b_final=REDONDEO_BASE;
/*asignamos el numero entero multiplo de 5 mas cerca al entero*/
///REDONDEO DE PERALTE
DE VIGA
DIVISOR=5;
REDONDEO_PERALTE=ceil(h2);
while(REDONDEO_PERALTE
%DIVISOR != 0)
REDONDEO_PERALTE=REDONDEO_PERALTE+1;
h_final=REDONDEO_PERALTE;
///IMPRESION DE RESULTADOS
cout<<"
******************************************************************************\n";
cout<<" ********************
RESULTADOS PREDIMESIONADO DE VIGA ***********************\n";
cout<<"
******************************************************************************\n";
cout <<"\t\
t___________________________ \n\n";
cout<<"\t\t* BASE
0 :"<<b1<<" cm\n";
cout<<"\t\t* PERALTE
0 :"<<h1<<" cm\n\n\n";
cout<<"\t\t* BASE
2 :"<<b2<<" cm\n";
cout<<"\t\t* PERALTE
2 :"<<h2<<" cm\n\n\n";
if(SISMO==1){cout<<"\t\t Zona de
alta actividad Sismica: CRITERIO DE RIGIDEZ \n "<<endl;
}
else {cout<<"\t\t Zona de regular
actividad Sismica: CRITERIO DE MENOR CUANTIA \n "<<endl;
cout <<"\t\
t___________________________ \n\n";
cout<<"\t\t* BASE de
viga :"<<b_final<<" cm\n";
cout<<"\t\t* PERALTE de
viga :"<<h_final<<" cm\n";
<< "\t | |
" << endl
<< "\t |ø ø|
" << endl
<< "\t | |
"<<h_final<<"cm"<<" " << endl
<< "\t | |
" << endl
<< "\t |ø ø|
" << endl
<< "\t
"<<b_final<<"cm"<<" " << endl;
cout
<<"______________________________________________________________________________";
cout <<"\n";
cout <<"\t
DESEA CAMBIAR DIMESIONES DE VIGA ? \n\t\t\t" << endl
<<"\t\t\
t1)SI" <<"\t 2)NO \n\t\t\t" << endl;
cout <<"\t\t
DIGITE el NUMERO de opcion :"; cin >>cambio_seccion;
cout <<"\t\t\t
\n";
if
(cambio_seccion==1) goto ETIQUETA_CAMBIO_SEC;
}
/////////PARAMETRO PERALTE PARAMETRO PERALTE PARAMETRO PERALTE ARAMETRO PERALTE PARAMETRO PERALTE ARAMETRO
PERALTE PARAMETRO PERALTE ARAMETRO PERALTE PARAMETRO PERALTE
else{
system ("CLS");
cout <<"\t\t\t\n";
if(SISMO==1){///CRITERIO DE RIGIDEZ
b2=b1*pow(h1,3)/pow(h2,3);
b2=b1*pow(h1,2)/pow(h2,2);
};
system("CLS");
/// se podria agregar una funcion RETURN o GOTO ?? en vez repetir codigo.
/*****************************************************************************************************************/
///REDONDEO DE DIMENSIONES DE VIGA
int REDONDEO_BASE,DIVISOR,REDONDEO_PERALTE;
REDONDEO_BASE=REDONDEO_BASE+1;
DIVISOR=5;
REDONDEO_PERALTE=ceil(h2);
while(REDONDEO_PERALTE%DIVISOR != 0)
REDONDEO_PERALTE=REDONDEO_PERALTE+1;
h_final=REDONDEO_PERALTE;
///IMPRESION DE RESULTADOS
cout<<" ******************************************************************************\n";
cout<<" ******************************************************************************\n";
else {cout<<"\t\t Zona de regular actividad Sismica: CRITERIO DE MENOR CUANTIA \n "<<endl;
cout <<"______________________________________________________________________________";
cout <<"\n";
else
};
///VOLVER A DIMENSIONAR OTRA VIGA O SALIR
system("CLS");
}while(Volver_dimensionar!=2);
}
goto MENU;
break;
///
===============================================================================================================================
============
///
===============================================================================================================================
============
case 3:
int Volver_dimensionar_col;
do{
system("CLS");
cout << "*******************************************************************************" << endl
float PAL,PT,PAC,PVI,PCOL,SC,P_Gravedad_piso,n,P_piso_soporta_col,a,fc,N,AT;
int Tipo_estructura,Tipo_columna;
system("PAUSE");
return 0;
};
switch (Tipo_estructura)
{ case 1:
SC=200;
a=13;
break;
case 2:
SC=250;
a=12;
break;
case 3:
SC=500;
a=11;
break;
case 4:
SC=750;
a=10;
break;
case 5:
SC=1000;
a=9;
break;
default:
break;
}
///CARGAS DE LA ESTRUCTURA
system("CLS");
float P_carga_estructura,bd,t;
P_carga_estructura=PAL+PT+PAC+PVI+PCOL+SC;
///AREA TRIBUTARIA
system ("CLS");
P_Gravedad_piso=P_carga_estructura*AT;
///TIPO DE EDIFICACION
system("CLS");
<<"\t\t\t 1) Tipo C1-A : para LOS PRIMEROS PISOS (N<3)\n\t\t\t" << endl
system("PAUSE");
return 0;
};
if (Tipo_columna>0) {
switch(Tipo_columna)
{
case 1:
n=0.30;
P_piso_soporta_col=1.10*P_Gravedad_piso;
break;
case 2:
n=0.25;
P_piso_soporta_col=1.10*P_Gravedad_piso;
break;
case 3:
n=0.25;
P_piso_soporta_col=1.25*P_Gravedad_piso;
break;
case 4:
n=0.20;
P_piso_soporta_col=1.50*P_Gravedad_piso;
break;
default:
};
bd=(P_piso_soporta_col/(n*fc)*N);
t=sqrt(P_piso_soporta_col/(n*fc)*N);
int REDONDEO,DIVISOR;
while(REDONDEO%DIVISOR != 0)
REDONDEO=REDONDEO+1;
}
system("PAUSE");
getch();
system("PAUSE");
system("CLS");
}while(Volver_dimensionar_col!=2);
}
goto MENU;
break;
///
===============================================================================================================================
============
///
===============================================================================================================================
============
case 4:
int Volver_dimensionar_placa;
do{
system("CLS");
cout << "*******************************************************************************" << endl
float H,A,espesor_placa,B,cociente,residuo;
do{
cin >>H;
A=H-4.5;
system("CLS");
}while(A<0);
/*espesor de losas en los ultimos 4 pisos =15cm y 2.5cm mas por cada 7.5m de altura*/
B=7.5;
//RESTA SUCECIVA
cociente=0;
while (A>=B) {
A=A-B;
cociente=cociente+1;
};
residuo=A;
if(residuo==0) {
espesor_placa=15+(cociente)*2.5 ;
else {
espesor_placa=15+(cociente+1)*2.5;
};
int REDONDEO;
system("CLS");
/*deja un espacion*/
cout<<"\t\t \n";
cout<<"****************************************************************************\n";
goto MENU;
default:
break;
}
}while(elemento_estructural==5);