#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <ctype.h>
char rk,opcion;
int nt,nr,np,nc;
float acuta,acutp,acura,acurp,acupa,acupp,acuca,acucp;
const float pi=3.141592653;
void triangulo()
{ float pt,atr,mp,mpm,lu,ld,lt;
clrscr();
printf(" Tri ngulo\n"); printf("\n"); printf("Escribe el valor de A:"); scanf("%f",&lu); printf("\n"); printf("Escribe el valor de B:"); scanf("%f",&ld); printf("\n"); printf("Escribe el valor de C:"); scanf("%f",<); if ((lu<=0) || (ld<=0) || (lt<=0))
{ printf("\n"); printf("Valor(es) no valido(s)\n"); printf("Presione cualquier tecla para continuar"); rk=getch();
}else{ pt=lu+ld+lt;
mp=pt/2;
mpm=(mp*(mp-lu)*(mp-ld)*(mp-lt)) ;
if (mpm<=0)
{ printf("\n"); printf("Estos valores no pertenecen a un tri ngulo\n"); printf("Presione cualquier tecla para continuar"); rk=getch();
}else{ atr=sqrt(mpm);
nt++;
printf("--------------------------------------------------------------------------------\n"); printf("No de figura procesada:Tri ngulo "); printf("Per¡metro:%4.2fm ",pt); printf("Superficie:%4.2fm2\n",atr); acuta=acuta+atr;
acutp=acutp+pt;
printf("Presione cualquier tecla para continuar"); rk=getch();
}
}
}
void rectangulo()
{ float pr,ar,hr,br;
clrscr();
printf(" Rect ngulo\n"); printf("\n"); printf("Escriba el valor de la base:"); scanf("%f",&br); printf("\n"); printf("Escriba el valor de la altura:"); scanf("%f",&hr); if ((hr<=0) || (br<=0))
{ printf("\n"); printf("Valor(es) no valido(s)\n"); printf("Presione cualquier tecla para continuar"); rk=getch();
}else{ ar=br*hr;
pr=2*(br+hr);
nr++;
printf("--------------------------------------------------------------------------------\n"); printf("No de figura procesada:Rect ngulo "); printf("Per¡metro:%4.2fm ",pr); printf("Superficie:%4.2fm2\n",ar); acura=acura+ar;
acurp=acurp+pr;
printf("Presione cualquier tecla para continuar"); rk=getch();
}
}
void pentagono()
{ float pp,ap,ll;
clrscr();
printf(" Pent gono\n"); printf("\n"); printf("Escribe la longitud del lado:"); scanf("%f",&ll); if (ll<=0)
{ printf("\n"); printf("Valor(es) no valido(s)\n"); printf("Presione cualquier tecla para continuar"); rk=getch();
}else{ pp=ll*5;
ap=5*ll*ll*cos(pi/5)/(4*sin(pi/5));
np++;
printf("--------------------------------------------------------------------------------\n"); printf("No de figura procesada:Pentágono "); printf("Per¡metro:%4.2fm ",pp); printf("Superficie:%4.2fm2\n",ap); acupa=acupa+ap;
acupp=acupp+pp;
printf("Presione cualquier tecla para continuar\n"); rk=getch();
}
}
void circulo()
{ float pc,ac,radio;
clrscr();
printf(" Circulo\n"); printf("\n"); printf("Escribe la longitud del radio:"); scanf("%f",&radio); if (radio<=0)
{ printf("\n"); printf("Valor(es) no valido(s)\n"); printf("Presione cualquier tecla para continuar"); rk=getch();
}else{ pc=pi*(radio*2);
ac=pi*(radio*radio);
nc++;
printf("--------------------------------------------------------------------------------\n"); printf("No de figura procesada:C¡rculo "); printf("Per¡metro:%4.2fm ",pc); printf("Superficie:%4.2fm2\n",ac); acuca=acuca+ac;
acucp=acucp+pc;
printf("Presione cualquier tecla para continuar"); rk=getch();
}
}
void salir()
{ clrscr();
printf(" Resultados\n"); printf("-------------------------------------------------------------------------------\n"); printf("Figura | Procesados | Subper¡metros | Subsuperficies \n"); printf("-------------------------------------------------------------------------------\n"); printf("Tri ngulos %i %4.2f %4.2f \n",nt,acutp,acuta); printf("Rect ngulos %i %4.2f %4.2f \n",nr,acurp,acura); printf("Pent gonos %i %4.2f %4.2f \n",np,acupp,acupa); printf("C¡rculos %i %4.2f %4.2f \n",nc,acucp,acuca); printf("-------------------------------------------------------------------------------\n"); printf("Totales %i %4.2f %4.2f \n",nt+nr+np+nc,acutp+acurp+acupp+acucp,acuta+acura+acupa+acuca); printf("Presione cualquier tecla para continuar"); rk=getch();
clrscr();
}
void menu()
{ clrscr();
printf("FIGURAS\n"); printf("Autor:Rom n Dzul Calvillo\n"); printf("\n"); printf("T:tri ngulo\n"); printf("R:rect ngulo\n"); printf("P:pent gono\n"); printf("C:c¡rculo\n"); printf("S:salir\n"); printf("Pulse una opci¢n:"); do{ opcion=getch();
if (islower(opcion))
opcion=opcion-32;
}while ((opcion!='T')&&(opcion!='R')&&(opcion!='P')&&(opcion!='C')&&(opcion!='S'));
printf("\n");}
void main()
{ clrscr();
nt=0;
nr=0;
np=0;
nc=0;
acuta=0;
acutp=0;
acura=0;
acurp=0;
acupa=0;
acupp=0;
acuca=0;
acucp=0;
do
{ menu();
switch (opcion)
{ case 'T':{ triangulo();
break;
}
case 'R':{ rectangulo();
break;
}
case 'P':{ pentagono();
break;
}
case 'C':{ circulo();
break;
}
case 'S':{ salir();
break;
}
default:
{ printf("Valor no valido\n"); printf("Presione enter para continuar"); rk=getch();
}
}
} while (opcion!='S');
}
Comentarios sobre la versión: Versión 1 (3)