Foro de programacion

programacion
RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Foros de Programacion - Cominidad de Programadores
 
Foros de programacion
es una web de ayuda a los programadores y webmasters, la buena utilizacion del foro sera el premio que tendremos para q este elemento sea util para los usuarios.

Colaborar: Si deseais ser moderadores de alguno de los foros estaremos encantados en que nos presteis esa ayuda , tan solo es necesario tener algun conocimiento
del tema que trata el foro y tener ganas ganas de colaborar para ser moderador mandar un mail indicando de que foro deseais ser moderador

Deseais que pongamos algun nuevo foro de programacion? ¿quieres crear un nuevo foro y ser su moderador? ponte en contacto con nosotros

Retroceder   Foros > Programacion > visual basic

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 19 de febrero,2006, 13:14
Guest
 
Mensajes: n/a
Predeterminado Ayuda urgente

El programa es muy basico, simplemente lo que hace es cargar datos (nombre, apellido, documento y sexo) y una vez que cargas los datos se le asigna un codigo. Este codigo es el numero de posicion del vector.
Una vez realizado todo lo anterior, el programa lo que hace es buscar los datos de una persona en particular a traves del codigo, pero cuando quiere mostrar los datos de la persona buscada, lo que muestra es cualquier cosa.
Alguien me puede explicar porque me muestra cualquier cosa y dar una posible solucion.
Muchas gracias.


program reg_vec;
uses
dos, crt;
const
max=10;
type
registro=record
apellido:string[20];
nombre:string[20];
documento:longint;
sexo:char;
end;
veclista=array[1..max] of registro;
var
lista:veclista;
{procedure limpiar (var A:veclista);
var
i:byte;
begin
for i:=1 to max do
with A do
begin
apellido:='';
nombre:='';
documento:=' ';
sexo:='';
end;
end;}
procedure carga (var A:veclista);
var
i:byte;
begin
i:=1;
repeat
clrscr;
write('Ingrese los datos');writeln;
write('-----------------');writeln;writeln;
with A do
begin
write('Apellido: ');readln(apellido);
write('Nombre: ');readln(nombre);
write('D.N.I: ');readln(documento);
write('Sexo: ');readln(sexo);
write('Su codigo es: ',i);
end;
writeln;
inc(i);
write('Desea ingresar mas datos (S/N): ');
until (upcase(readkey)='N') or(i>max);
end;
procedure mostrar (var A:veclista; n:byte);
var
info:registro;
begin
clrscr;
write('Sus datos son');writeln;
write('-------------');writeln;writeln;
with A[n],info do
begin
writeln('Apellido: ',apellido);
writeln('Nombre: ',nombre);
writeln('D.N.I: ',documento);
writeln('Sexo: ',sexo);writeln;
end;
readkey;
end;
procedure buscar (var A:veclista);
var
i,j:byte;
encontrado:boolean;
begin
encontrado:=false;
i:=1;
clrscr;
write('Ingrese su codigo: ');readln(j);
repeat
if (i = j) then
begin
mostrar(A,i);
encontrado:=true;
end;
inc(i);
until (encontrado=true) or (i>max)
end;
begin {Programa Principal}
clrscr;
{limpiar(lista);}
carga(lista);
buscar(lista);
end.
Responder Citando
  #2 (permalink)  
Antiguo 24 de febrero,2006, 08:22
Junior Member
 
Fecha de Ingreso: ago 2005
Mensajes: 9
Predeterminado Re: Ayuda urgente

el procedimiento carga estaba MAL , debes especificar el num array-registro
donde van a parar los datos. si no estos quedan en el LIMBO , no s‚ ni como
te lo ha cogido el compilador. tambiem te he corregido el procedimiento
limpiar.

SALUDOS


Código:
program reg_vec;
uses dos, crt;
 const max=10;
 type  registro=record
       apellido:string[20];
       nombre:string[20];
       documento:longint;
       sexo:char;
  end;

  veclista=array[1..max] of registro;

var
lista:veclista;
procedure limpiar (var A:veclista); { corregido }
 var
 i:byte;
 x:veclista;
  begin
  x:=a;
   for i:=1 to max do
     with x[i] do
     begin
       apellido:='';
       nombre:='';
       documento:=0;     { *corregido: no es una cadena es un numero }
       sexo:=#0;         { es un char no una cadena }
     end;
 end;
{--------------------------------------------------------------------------}
procedure carga (var A:veclista); { corregido }
 var
 i:byte;
 begin
 i:=1;
   repeat
   clrscr;
   write('Ingrese los datos');writeln;
   write('-----------------');writeln;writeln;

    with A[i] do
    begin
    write('Apellido: ');readln(A[i].apellido);
    write('Nombre: ');readln(A[i].nombre);
    write('D.N.I: ');readln(A[i].documento);
    write('Sexo: ');readln(A[i].sexo);
    write('Su codigo es: ',i);
    end;

    writeln;
    inc(i);
    write('Desea ingresar mas datos (S/N): ');
   until (upcase(readkey)='N') or(i>max);
 end;
{--------------------------------------------------------------------------}

procedure mostrar (var A:veclista; n:byte);
 var
 info:registro;
 begin

   clrscr;
   write('Sus datos son');writeln;
   write('-------------');writeln;writeln;
   with A[n] do
    begin
     writeln('Apellido: ',apellido);
     writeln('Nombre: ',nombre);
     writeln('D.N.I: ',documento);
     writeln('Sexo: ',sexo);writeln;
   end;
   readkey;
end;
{--------------------------------------------------------------------------}

procedure buscar (var A:veclista);
 var
 i,j:byte;
 encontrado:boolean;

 begin

 encontrado:=false;
 i:=1;
 clrscr;
 write('Ingrese su codigo: ');readln(j);
 repeat
  if (i = j) then
   begin
    mostrar(A,i);
    encontrado:=true;
   end;
   inc(i);
 until (encontrado=true) or (i>max)
end;
{--------------------------------------------------------------------------}

begin {Programa Principal}
 clrscr;
 limpiar(lista);
 carga(lista);
 buscar(lista);{}
end.
Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Las caritas están Activado
El codigo [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado
Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
datareport javier visual basic 0 04 de diciembre,2005 16:03
DataReport bi23471 visual basic 0 01 de enero,1970 01:00
una cosita muy sencilla bi23471 visual basic 0 01 de enero,1970 01:00
Pregunta sencilla bi23471 excel 0 01 de enero,1970 01:00

Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSL Ipueblos20
Areas exclusivas:cursosIofertasIadslIwebtutoriales ISMSareaItutorialesItrucos de windows IgooglemaniaI programatium.netIcompras
noticias: SaludIOcio/cineIMusicaIMotorIDeportes IJuegos I FinanzasIMovilesIEnergiaIEcologiaITech-yIMujerIMACISaludIViajes-Pueblos
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Content Relevant URLs by vBSEO 3.2.0