Está en la página 1de 3

#include<stdio.h> #include<stdlib.h> #include<math.h> #define TAM_MAX 100 #define E 2100000 #define ec 0.

003 int main(void) { float Lm,tm,fc,fy,r,As1,As2;// Variables de inicio, geometra del muro y resis tencia de los materiales float d,B1,c,ci,cmax,de,fs1,fs2; //Variables usadas para los cculos float Cc,Cs1,Cs2,Ts1,Ts2;// Variables del clculo de compresiones o tensiones segun sea el caso float P,M; //P= fuerza axial total y M= momento total en la seccin float es1,es2; //deformaciones unitarias en el rea de acero 1 y acero 2 respe ctivamente float fxc,f2c,a; //fxc=f*c, f2c=f"c y a=B1*c float e,u,j;// Excentricidad y otras variables float MATRIZ1[TAM_MAX][TAM_MAX]; //Matriz para almacenar los resultados float MATRIZ[TAM_MAX][TAM_MAX];//Matriz para almacenar los resultados int np,i, k;// nmero de puntos y ms variable // Este programa muestra los datos en la pantala pero a crea un archivo llam ado datos.txt donde tambien // son mandado para su manipulacion en excel para hacer la grafica correspon diente printf("***Dame en orden, los siguientes valores:*** \n Lm (longitud del mur o) cm\n tm (espesor del muro) cm\n r (recubriento lateral) cm\n As1 (area de ace ro 1) cm^2\n As2 (area de acero2) cm^2\n f'c kg/cm^2\n fy kg/cm^2\n numero de pu entos para el calculo\n\n"); scanf("%f %f %f %f %f %f %f %i",&Lm,&tm,&r,&As1,&As2,&fc,&fy,&np); printf("\n\n"); //Desde aqui empiezan los primeros clculos para determinar constantes a lo la rgo del programa fxc=0.8*fc; f2c=0.85*fxc; d=tm-r; //clculo de beta1 B1= 1.05-(fxc/1400); if(0.65<=B1 && B1<=0.85) B1= 1.05-(fxc/1400); else if (B1<0.65) B1=0.65; else if (B1>0.85) B1=0.85; printf("B1= %.3f \n", B1); //inicializacin del eje neutro y su incremento ci=0.01; cmax=3*tm; de=(cmax-ci)/(np-1); //sentencia repetitiva para calcular esfuerzos y deformaciones en los difer entes lechos for (i=1;i<=np;++i) { printf("PUNTO= %i\n",i); c=ci+((i-1)*de); printf("c= %f\n",c); a=B1*c; printf("a= B1 x c= %.4f cm\n",a);

es1=(((r-c)*ec)/c); printf("Deformacion unitaria 1= %.10f cm/cm\n",es1); es2=(((d-c)*ec)/c); printf("Deformacion unitaria 2= %.10f cm/cm\n",es2); if (0<=es1 && es1<0.002) fs1=es1*E; else if (es1>=0.002) fs1=fy; else if (es1<0 && -0.002<=es1) fs1=es1*E; else if(es1<-0.002) fs1=-fy; printf("Esfuerzo en el acero 1= %f kg/cm^2\n",fs1); if (0<=es2 && es2<.002) fs2=es2*E; else if (es2>=0.002) fs2=fy; else if (es2<0 && -0.002<=es2) fs2=es2*E; else if(es2<-0.002) fs2=-fy; printf("Esfuerzo en el acero 2= //comparaciones para determinar bucin al momento if (fs1<0) { Cs1=As1*fs1; Ts1=0; printf("(-)Compresion acero 1= %.1f kg\n",Cs1,Ts1); } if(0<fs1) { Cs1=0; Ts1=As1*fs1; printf("(-)Compresion acero 1= %.1f kg\n",Cs1,Ts1); } if(fs1==0) { Cs1=0; Ts1=0; printf("(-)Compresion acero 1= %.1f kg\n",Cs1,Ts1); } if (fs2<0) { Cs2=As2*fs2; Ts2=0; printf("(-)Compresion en el acero 2= %.1f kg\n(+)Tension en el acero 2= %.1f kg\n",Cs2,Ts2); } if(0<fs2) { Cs2=0; Ts2=As2*fs2; printf("(-)Compresion en el acero 2= %.1f kg\n(+)Tension en el %f kg/cm^2\n",fs2); el sentido de la fuerza y sumar su contri

en el acero 1= %.1f kg\n(+)Tension en el

en el acero 1= %.1f kg\n(+)Tension en el

en el acero 1= %.1f kg\n(+)Tension en el

acero 2= %.1f kg\n",Cs2,Ts2); } if(fs2==0) { Cs2=0; Ts2=0; printf("(-)Compresion en el acero 2= %.1f kg\n(+)Tension en el acero 2= %.1f kg\n",Cs2,Ts2); } //si el espesor del muro es menor que a=B1xC, se multiplica por lo que ob tienes if(tm<a) { Cc=tm*f2c*Lm; M=-(Ts1*((tm/2)-r))+(-Cs1*((tm/2)-r))+(Ts2*((tm/2)-r))+(Cs2*((tm/2)-r) ); } //si el espezor del muro es menor que a=B1xC, el bloque de compresin en el concreto es constante if (a<=tm) { Cc=a*f2c*Lm; M=(Cc*((tm/2)-(a/2)))-(Ts1*((tm/2)-r))+(-Cs1*((tm/2)-r))+(Ts2*((tm/ 2)-r))+(Cs2*((tm/2)-r)); } //despliega los resultados en pantalla e imprimelos en un archivo de dato s para poder hacer la grafica en excel printf("Compresion en el concreto= %.1f kg\n",Cc); P=-Cs1-Cs2-Ts1-Ts2+Cc; e=(M/P); printf("Carga axial Pn= %.1f kg\n",P); printf("Momento nominal Mn= %.1f kg-cm\n",M); printf("Excentricidad = %.3f \n",e); FILE *datos; char nombre[10] = "datos.txt"; datos = fopen( nombre, "w" ); MATRIZ[i][0]=M; MATRIZ[i][1]=P; //printf("[\t%.0f\t\t%.0f\t\t]\n",MATRIZ[i][0],MATRIZ[i][1]); for(k=1;k<=np;++k) fprintf(datos,"%.0f\t%.0f\n",MATRIZ[k][0],MATRIZ[k][1]); fclose(datos); } system ("pause"); return 0; }

También podría gustarte