Pascal/Turbo Pascal - DUDA!!

 
Vista:

DUDA!!

Publicado por Serkano (5 intervenciones) el 05/11/2006 00:06:30
Hola soy un iniciado en este programa y necesito ayuda para realizar el siguiente programa en Pascal:

Necesito que al insertar mi nombre y apellidos, grupo y carrera el programa me responda poniendo mi nombre, el grupo y la carrera enmarcado en un cuadro de doble borde.
No se muy bien..

Gracias.
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

RE:DUDA!!

Publicado por Carlos Guimaraenz (265 intervenciones) el 05/11/2006 00:31:26
Hola Serkano! El siguiente programa lo realicé en Turbo Pascal 7, por lo que si bien acá hay caracteres que no aparecen, si tienes ese compilador te funcionará bien. Si no lo tienes pídemelo al mail y te lo envío. Un abrazo!

program Datos_Personales;

uses crt;

{CODIGO PRINCIPAL}
var
nombre : string;
grupo : string;
carrera : string;
begin
ClrScr;
Write('Nombre y apellidos: '); ReadLn(nombre);
Write('Grupo: '); ReadLn(grupo);
Write('Carrera: '); ReadLn(carrera);
ClrScr;
WriteLn('ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');
WriteLn('º º');
WriteLn('º º');
WriteLn('º º');
WriteLn('ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ');
GotoXY(3,2);
Write('Nombre y apellidos: ',nombre);
GotoXY(3,3);
Write('Grupo: ',grupo);
GotoXY(3,4);
Write('Carrera: ',carrera);
ReadLn;
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

RE:DUDA!!

Publicado por Diego Romero (996 intervenciones) el 05/11/2006 16:39:22
Para evitar esto es mejor usar los literales #205 (que se corresponde con la línea doble horizontal, es decir el caracter ASCII 205). Modificando el código de Carlos:

program Datos_Personales;

uses crt;

var
nombre : string;
grupo : string;
carrera : string;
MaxLrg: integer; { para saber cuál string es más largo }


procedure LineaHor(Linea, Desde, Hasta: integer; Arriba: boolean);
var
Aux: integer;
begin

if Arriba then
begin
GotoXY(Desde,Linea);
Write(#201); { esquina izquierda }
GotoXY(Hasta,Linea);
Write(#187); { esquina derecha }
end
else
begin
GotoXY(Desde,Linea);
Write(#200); { esquina izquierda }
GotoXY(Hasta,Linea);
Write(#188); { esquina derecha }
end;

for Aux:=(Desde+1) to (Hasta-1) do
begin
GotoXY(Aux, Linea);
Write(#205); { linea doble }
end;
end; { LineaHor }

procedure LineaVer(Colum, Desde, Hasta: integer);
var
Aux: integer;
begin
for Aux:=Desde to Hasta do
begin
GotoXY(Colum,Aux);
Write(#186); { columa doble }
end;
end; { LineaVer }

procedure RecuadroDoble(Colum1, Linea1, Colum2, Linea2: integer);
var
Aux:integer;
begin
if Linea1 > Linea2 then
begin
Aux:=Linea1;
Linea1:=Linea2;
Linea2:=Aux;
end;

if Colum1 > Colum2 then
begin
Aux:=Colum1;
Colum1:=Colum2;
Colum2:=Aux;
end;

LineaHor(Linea1,Colum1,Colum2,true);
LineaVer(Colum1,Linea1+1,Linea2-1);
LineaVer(Colum2,Linea1+1,Linea2-1);
LineaHor(Linea2,Colum1,Colum2,false);
end;

function Mayor(A, B: integer): integer;
begin
if A > B then Mayor:=A
else Mayor:=B;
end; { Mayor }

begin
MaxLrg:=0;
ClrScr;
Write('Nombre y apellidos: '); ReadLn(nombre);
MaxLrg:=Mayor(MaxLrg, Length(Nombre));

Write('Grupo: '); ReadLn(grupo);
MaxLrg:=Mayor(MaxLrg, Length(Grupo));

Write('Carrera: '); ReadLn(carrera);
MaxLrg:=Mayor(MaxLrg, Length(Carrera));


ClrScr;
RecuadroDoble(3,10,3+MaxLrg+1,14);
GotoXY(4,11);
Write(Nombre);
GotoXY(4,12);
Write(Grupo);
GotoXY(4,13);
Write(Carrera);

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

RE:DUDA!!

Publicado por ruben (5 intervenciones) el 07/11/2006 12:06:02
T e mandado un mail !
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

RE:DUDA!!

Publicado por Serkano (1 intervención) el 07/11/2006 11:30:02
tiene k ser en free pascal!! Voy a intentarlo con eso pro nose si podre..
Gracias
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