program calculadora;
uses
crt;
var
opc: char;
msg: string= 'Programa creado por el martin martinez ' ;
Procedure centrar (texto:string; fila:integer);
var
columna:integer;
begin
columna:=(80-length(texto)) div 2;
gotoxy (columna,fila);
write(texto);
end;
procedure circulo;
var
area,r:real;
begin
clrscr;
centrar ('Escribe el valor de radio: ',5);
read (r);
area:=PI*r*r;
centrar ('El area del circulo es igual a: ',7);
writeln(area:4:2 );
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure triangulo;
var
area,base,altura:real;
begin
clrscr;
centrar ('Escribe el valor de b(base): ',5);
read (base);
centrar ('Escribe el valor de h(altura): ',7);
read (altura);
area:=((base*altura)/2);
centrar ('El area del triangulo es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure rectangulo;
var
area,base,altura:real;
begin
clrscr;
centrar ('Escribe el valor de b(base): ',5);
read (base);
centrar ('Escribe el valor de h(altura): ',7);
read (altura);
area:=(base*altura);
centrar ('El area del rectangulo es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure cuadrado;
var
area,lado:real;
begin
clrscr;
centrar ('Escribe el valor de un lado del cuadrado): ',5);
read (lado);
area:=(lado*lado);
centrar ('El area del cuadrado es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure romboide ;
var
area,base,altura:real;
begin
clrscr;
centrar ('Escribe el valor de b(base): ',5);
read (base);
centrar ('Escribe el valor de h(altura): ',7);
read (altura);
area:=(base*altura);
centrar ('El area del rombiode es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure trapecio;
var
area,basemayor,basemenor,altura:real;
begin
clrscr;
centrar ('Escribe el valor de b(base mayor): ',5);
read (basemayor);
centrar ('Escribe el valor de b(base menor): ',5);
read (basemenor);
centrar ('Escribe el valor de h(altura): ',7);
read (altura);
area:=((basemayor+basemenor*altura)/2);
centrar ('El area del trapceio es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure pentagono;
var
area,base,apotema:real;
begin
clrscr;
centrar ('Escribe el valor de b(base): ',5);
read (base);
centrar ('Escribe el valor de a(apotema): ',7);
read (apotema);
area:=((5*base*apotema)/2);
centrar ('El area del pentagono es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure rombo ;
var
area,diagonalmayor,diagonalmenor:real;
begin
clrscr;
centrar ('Escribe el valor de D(diagonalmayor): ',5);
read (diagonalmayor);
centrar ('Escribe el valor de d(diagonalmenor): ',7);
read (diagonalmenor);
area:=(diagonalmayor*diagonalmenor)/2;
centrar ('El area del rombo es igual a: ',9);
writeln(area);
writeln;
writeln;
writeln;
centrar ('Presiona ENTER para regresar al menu principal',10);
readkey;
end;
procedure salida;
begin
clrscr;
textbackground(red);
textcolor(yellow);
centrar('Gracias por usarme, hasta luego',8);
end;
begin
repeat
clrscr;
gotoxy(24,1);
writeln('+-----------------------+');
gotoxy(24,2);
writeln('| |');
gotoxy (24,3);
writeln('+-----------------------+');
gotoxy(28,2);
textcolor(yellow);
textbackground(red);
writeln(msg);
textcolor(white);
textbackground(black);
gotoxy(8,5);
writeln('+-----------------------+');
gotoxy(8,6);
writeln('| |');
gotoxy(8,7);
writeln('| |');
gotoxy(8,8);
writeln('| |');
gotoxy(8,9);
writeln('| |');
gotoxy(8,10);
writeln('| |');
gotoxy(8,11);
writeln('| |');
gotoxy(8,12);
writeln('| |');
gotoxy(8,13);
writeln('| |');
gotoxy(8,14);
writeln('| |');
gotoxy(8,15);
writeln('| |');
gotoxy(8,16);
writeln('| |');
gotoxy(8,17);
writeln('+-----------------------+');
centrar('Opciones del programa',6);
centrar ('area de un [C]irculo',8);
centrar ('area de un [T]riangulo',9);
centrar ('[R]ectangulo',10);
centrar ('C[U]adrado',11);
centrar ('r[O]mboide',12);
centrar ('Tr[A]pecio',13);
centrar ('[P]entagono',14);
centrar ('ro[M]bo',15);
centrar ('[X] Salir del programa',17);
textcolor(green);
centrar ('Elige una opcion' ,20);
opc:=readkey;
case opc of
'C', 'c':circulo;
'T','t':triangulo;
'R', 'r':rectangulo;
'U', 'u':cuadrado;
'O', 'o':romboide;
'A', 'a':trapecio;
'P', 'p':pentagono;
'M', 'm':rombo;
'X', 'x':salida;
end;
until (opc='x') or (opc='X');
END.
No hay comentarios:
Publicar un comentario