#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)