Pascal/Turbo Pascal - Cuadro en tabla ascii

 
Vista:

Cuadro en tabla ascii

Publicado por Alex (29 intervenciones) el 14/05/2012 12:32:59
Holaaaaaaa necesita su ayuda urgentisimo necesito hacer un cuadro con la tabla ascii que me sirva de marco para un programa lo he intentado pero me sale pequeño y le falta una esquina ayudenme necesito que sea por todo el borde (como un marco) y no centrado,otra cosa no solo de lineas si no con formas les dejo lo que he hecho a ver si alguien puede editarlo para q sea toda la pantalla y hacerle las lineas con formas, mil gracias de antemano.


program cuadro;
uses crt;
const
somb:string=char(219);
var
i:integer;

begin
clrscr;
for i:=24 to 58 do
begin
gotoxy (i,11);write(chr(205));
end;
gotoxy(59,11);write(chr(187));
for i:= 12 to 15 do
begin
gotoxy(23,i);write(chr(186));
gotoxy(58,i);write(chr(32),char(186));
end;
gotoxy(23,16);write(chr(200));
for i:=24 to 58 do
begin
gotoxy(i,16);write(chr(205));
end;
gotoxy(59,16);writeln(chr(188));
textcolor(0);
for i:=25 to 61 do
begin
gotoxy(i,17);
writeln(somb);
end;
for i:=12 to 17 do
begin
gotoxy(60,i);
writeln(somb,somb);
end;
readkey
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cuadro en tabla ascii

Publicado por ramon (2158 intervenciones) el 14/05/2012 19:16:50
{A ponerlo como mas te guste compara con el el otro veras las modificaciones}

program cuadro;
uses crt;
const
somb : char = char(176);
var
i:integer;

begin
clrscr;
gotoxy (1,1);write(chr(201));
for i:= 2 to 77 do
begin
gotoxy (i,1);write(chr(205));
end;
gotoxy(78,1);write(chr(187));
for i:= 2 to 21 do
begin
gotoxy(1,i);write(chr(186));
gotoxy(77,i);write(chr(32),char(186));
end;
gotoxy(1,22);write(chr(200));
for i := 2 to 77 do
begin
gotoxy(i,22);write(chr(205));
end;
gotoxy(78,22);writeln(chr(188));
textcolor(0);
for i:= 4 to 79 do
begin
TextBackground(7);
gotoxy(i,23);writeln(' ');
end;
TextBackground(0);
for i:= 3 to 22 do
begin
TextBackground(7);
gotoxy(79,i);writeln(' ');
end;
TextBackground(0);
readkey
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro en tabla ascii

Publicado por Alex (29 intervenciones) el 15/05/2012 00:55:00
Ramon sos un groso, podrias explicarme en que parte del codigo es donde le das el grosor en la parte derecha y la parte inferior del cuadro por favor¿?¿?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro en tabla ascii

Publicado por Alex (29 intervenciones) el 15/05/2012 01:04:37
ramon ingrese el cuadro pero me sale mal ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

program ejerci17;
uses crt;
const
zona1=80;
zona2=90;
zona3=100;
base=100;
somb : char = char(176);
var
Resp:char;
suma1,suma2,suma3,promedioMulta1,promedioMulta2,promedioMulta3,suma:real;
multa1,multa2,multa3,adicional,multa,vd,cedula:real;
nombre,placa:string;
Cmulta1,Cmulta2,Cmulta3,zona:integer;
i:integer;

begin
clrscr;
Resp:='s';
while(resp='s')or(resp='S')do

begin
textcolor(4);
writeln('Ingrese codigo de zona');
readln(zona);
textcolor (7);
writeln('Ingrese numero de placa');
readln(placa);
textcolor(4);
writeln('Ingrese velocidad');
readln(vd);
textcolor(7);
writeln('Ingrese nombre');
readln(nombre);
textcolor(4);
writeln('Ingrese cedula');
readln(cedula);

if(zona=1)and(vd < zona1)then
begin
textcolor(2+blink);
writeln('No es infractor');
end;
if(zona=1) and (vd > zona1) then
begin
Cmulta1:= Cmulta1+1;
adicional:=(vd-zona1)*50;
multa1:=base+adicional;
writeln('placa:',placa);
writeln('multa:',multa1:3:2);
suma1:=suma1+multa1;
end;

if(zona=2) and (vd<zona2)then
begin
textcolor(7+blink);
writeln('No es infractor');
end;
if(zona=2)and(vd>zona2)then
begin
Cmulta2:=Cmulta2+1;
adicional:=(vd-zona2)*50;
multa2:=base+adicional;
writeln('placa:',placa);
writeln('multa:',multa2:3:2);
suma2:=suma2+multa2;
end;

if (zona=3)and(vd<zona3)then
begin
textcolor(2+blink);
writeln('No es infractor');
end;
if(zona=3)and(vd > zona3)then
begin
Cmulta3:=Cmulta3+1;
adicional:=(vd-zona3)*50;
multa3:=base+adicional;
writeln('placa:',placa);
writeln('multa:',multa3:3:2);
suma3:=suma3+multa3;
end;
textcolor(4);
writeln('Desea introducir otro conductor (s/n):');
readln(resp);
end;

clrscr;
textcolor(7);
if (Cmulta1 > 0) then
begin
writeln('Numero de infracciones Zona1:',Cmulta1:3);
end
else
begin
writeln('Numero de infracciones Zona1:' , 0);
end;
if (Cmulta2 > 0) then
begin
writeln('Numero de infracciones Zona2:',Cmulta2:3);
end
else
begin
writeln('Numero de infracciones Zona2:' , 0);
end;
if (Cmulta3 > 0) then
begin
writeln('Numero de infracciones Zona3:',Cmulta3:3);
end
else
begin
writeln('Numero de infracciones Zona3:' , 0);
end;

if (multa1>0) then
begin
promedioMulta1:=suma1/Cmulta1;
textcolor(8+blink);
writeln('Promedio de multas en Zona 1:',promedioMulta1 :3:2);
end;
if (multa2 > 0) then

begin
promedioMulta2:=suma2/Cmulta2;
textcolor(4+blink);
writeln('Promedio de multas en Zona 2:',promedioMulta2 :3:2);
end;
if (multa3 > 0) then
begin
promedioMulta3:=suma3/Cmulta3;
textcolor(9+blink);
writeln('Promedio de multas en Zona 3:',promedioMulta3 :3:2);
end;

begin
textcolor(4+blink);textbackground(8);
writeln('*---Pulse una tecla---*');
gotoxy (1,1);write(chr(201));
for i:= 2 to 77 do
begin
gotoxy (i,1);write(chr(205));
end;
gotoxy(78,1);write(chr(187));
for i:= 2 to 21 do
begin
gotoxy(1,i);write(chr(186));
gotoxy(77,i);write(chr(32),char(186));
end;
gotoxy(1,22);write(chr(200));
for i := 2 to 77 do
begin
gotoxy(i,22);write(chr(205));
end;
gotoxy(78,22);writeln(chr(188));
textcolor(0);
for i:= 4 to 79 do
begin
TextBackground(7);
gotoxy(i,23);writeln(' ');
end;
TextBackground(0);
for i:= 3 to 22 do
begin
TextBackground(7);
gotoxy(79,i);writeln(' ');
end;
TextBackground(0);

end;
readkey
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro en tabla ascii

Publicado por ramon (2158 intervenciones) el 15/05/2012 17:37:22
{Mira si en el cuadro intentas meter texto la ventana se ron pera puesto que el marco pertenece
a dicha ventana mira este tu código corregido para que no te pase eso}

program ejerci17;
uses crt;
const
zona1=80;
zona2=90;
zona3=100;
base=100;
somb : char = char(176);
var
Resp:char;
suma1,suma2,suma3,promedioMulta1,promedioMulta2,promedioMulta3,suma:real;
multa1,multa2,multa3,adicional,multa,vd,cedula:real;
nombre,placa:string;
Cmulta1,Cmulta2,Cmulta3,zona:integer;
i:integer;

procedure ventana;
begin
gotoxy (1,1);write(chr(201));
for i:= 2 to 77 do
begin
gotoxy (i,1);write(chr(205));
end;
gotoxy(78,1);write(chr(187));
for i:= 2 to 21 do
begin
gotoxy(1,i);write(chr(186));
gotoxy(77,i);write(chr(32),char(186));
end;
gotoxy(1,22);write(chr(200));
for i := 2 to 77 do
begin
gotoxy(i,22);write(chr(205));
end;
gotoxy(78,22);writeln(chr(188));
textcolor(0);
for i:= 4 to 79 do
begin
TextBackground(7);
gotoxy(i,23);writeln(' ');
end;
TextBackground(0);
for i:= 3 to 22 do
begin
TextBackground(7);
gotoxy(79,i);writeln(' ');
end;
TextBackground(0);
window(2,2,77,22);
end;

begin
clrscr;
ventana;
Resp:='s';
while(resp='s')or(resp='S')do
begin
textcolor(3);
write('Ingrese codigo de zona ');
readln(zona);
textcolor (7);
write('Ingrese numero de placa ');
readln(placa);
textcolor(4);
write('Ingrese velocidad ');
readln(vd);
textcolor(7);
write('Ingrese nombre ');
readln(nombre);
textcolor(4);
write('Ingrese cedula ');
readln(cedula);
if (zona = 1) and (vd < zona1) then
begin
textcolor(2 + blink);
writeln('No es infractor');
end;
if(zona = 1) and (vd > zona1) then
begin
Cmulta1 := Cmulta1 + 1;
adicional := (vd - zona1) * 50;
multa1 := base + adicional;
writeln('placa:',placa);
writeln('multa:',multa1:3:2);
suma1 := suma1 + multa1;
end;

if(zona=2) and (vd<zona2)then
begin
textcolor(7+blink);
writeln('No es infractor');
end;
if(zona=2)and(vd>zona2)then
begin
Cmulta2:=Cmulta2+1;
adicional:=(vd-zona2)*50;
multa2:=base+adicional;
writeln('placa:',placa);
writeln('multa:',multa2:3:2);
suma2:=suma2+multa2;
end;

if (zona=3)and(vd<zona3)then
begin
textcolor(2+blink);
writeln('No es infractor');
end;
if(zona=3)and(vd > zona3)then
begin
Cmulta3:=Cmulta3+1;
adicional:=(vd-zona3)*50;
multa3:=base+adicional;
writeln('placa:',placa);
writeln('multa:',multa3:3:2);
suma3:=suma3+multa3;
end;
textcolor(4);
write('Desea introducir otro conductor (s/n) : ');
readln(resp);

clrscr;
textcolor(7);
if (Cmulta1 > 0) then
begin
writeln('Numero de infracciones Zona1 : ',Cmulta1:3);
end
else
begin
writeln('Numero de infracciones Zona1 : ' , 0);
end;
if (Cmulta2 > 0) then
begin
writeln('Numero de infracciones Zona2 : ',Cmulta2:3);
end
else
begin
writeln('Numero de infracciones Zona2 : ' , 0);
end;
if (Cmulta3 > 0) then
begin
writeln('Numero de infracciones Zona3 : ',Cmulta3:3);
end
else
begin
writeln('Numero de infracciones Zona3 : ' , 0);
end;

if (multa1 > 0) then
begin
promedioMulta1 := suma1 / Cmulta1;
textcolor(8+blink);
writeln('Promedio de multas en Zona 1 : ',promedioMulta1:3:2);
end;
if (multa2 > 0) then
begin
promedioMulta2 := suma2 / Cmulta2;
textcolor(4+blink);
writeln('Promedio de multas en Zona 2 : ',promedioMulta2 :3:2);
end;
if (multa3 > 0) then
begin
promedioMulta3 := suma3 / Cmulta3;
textcolor(9+blink);
writeln('Promedio de multas en Zona 3:',promedioMulta3 :3:2);
end;
textcolor(4+blink);textbackground(8);
writeln('*---Pulse una tecla---*');
readkey;
window(0,0,80,24);
end;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar