elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  AYUDA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA  (Leído 2,948 veces)
joseanh

Desconectado Desconectado

Mensajes: 8


Ver Perfil
AYUDA
« en: 30 Junio 2013, 02:43 am »

Ayuda con este ejercicio, no corre porque el array de registro esta lleno, que hago?

program registro(input,output);
uses crt;
const numpersona=3;
type
   carasteristica=record
   cedula,edad,telefono: integer;
   apellido,nombre,sexo,nacionalidad: string;
end;

lista=Array[1..numpersona] of carasteristica;
var personas:lista; var cant:integer;

procedure insertar(var personas:lista; var cant:integer);

var ced,ed,tel,x:integer;
var ape,nom,nac:string;
var encontrado:integer;
begin
     encontrado:=0;
    writeln('ingrese cedula');
    readln(ced);
      if (cant=0) then
          encontrado:=0
      else
          for x:=1 to cant do
               begin
               if (ced=personas
.cedula) then
                  begin
                     encontrado:=1;

                  end;
                 end;
            
    if (encontrado=0) then
       begin
            cant:=cant+1;
           writeln('ingrese apellido');
           readln(ape);
           writeln('ingrese nombre');
           readln(nom);
           writeln('ingrese edad');
           readln(ed);
           writeln('ingrese nacionalidad');
           readln(nac);
           writeln('ingrese telefono');
           readln(tel);

            personas[cant].cedula:=ced;
            personas[cant].apellido:=ape;
            personas[cant].nombre:=nom;
            personas[cant].edad:=ed;
            personas[cant].nacionalidad:=nac;
            personas[cant].telefono:=tel;

       end
    else
        writeln(' Registro ya existe');
  end;

procedure mostrar(var personas:lista; var cant:integer);
 var x: integer;
 begin
  for x:=1 to cant do
  writeln(' cedula: ',personas
.cedula,' apellido: ',personas
.apellido,' nombre: ',personas
.nombre,' edad: ',personas
.edad,' nacionalidad: ',personas
.nacionalidad,' telefono: ',personas
.telefono);
readkey;
 end;
begin

end.

procedure ordenar(var personas:lista; var cant:integer);
var x,y,z:integer;
var aux:dat;
begin
   for x:=1 to cant do
     begin
     for y:=x+1 to cant do
       begin
       if personas
>cant[y] then
          for z:=1 to cant do
             begin
                aux
:=cant[z];
                cant[z]:=cant[y];
                cant[y]:=aux[z];
              end;
           end;
        end;
     end;

procedure modificar(var personas:lista; var cant:integer);
var x,valor,encon,posicion,nuevodat:integer;
var opcion:string;

begin
repeat
      clrscr;
      encon:=0;
      writeln('ingrese valor a modificar');
      readln(valor);
           for x:=1 to cant do
           begin
           if (valor= personas
.cedula)then
           begin
                encon:=1;
                posicion:=x;
           end;
          end;

    if encon=0 then
    writeln('dato no encontrado')
     else
       begin
         for x:=posicion to cant do
             personas
.cedula:=cant[nuevodat];
            end;

    writeln('ingrese nueva dato');
    readln(nuevodat);
    personas
.cedula:=cant[nuevodat];

    writeln('desea buscar otra opcion');
    readln(opcion);
    until (opcion='n') or (opcion='N');
end;

procedure buscar(var personas:lista; var cant:integer);
var valor:integer;
var x,encontrado:integer;
var opcion:string;
begin
repeat
clrscr;
encontrado:=0;
writeln('ingrese valor a buscar');
readln(valor);

    for x:=1 to cant do
begin
    if (valor= personas
.cedula) then
begin
    encontrado:=1;
       end;
     end;

if encontrado=0 then
writeln('no encontrado');
else
begin
writeln('valor encontrado',valor);
writeln('desea buscar otro?');
end;
readln(opc);
until (opc='n') or opc(='N');
end;

procedure eliminar(var personas:lista; var cant:integer);
var x,i,encontrado,posicion,cedula:integer;
var opci,valor:string;

begin
repeat
      clrscr;
      encontrado:=0;
      writeln('eliminar valor');
      readln(valor);

      for x:=1 to cant do
      if (valor= personas
.cedula) then
begin
      encontrado:=1;
      posicion:=x;
   end;
      if encontrado=0 then
         writeln('datos no encotrados')
      else
           for x:=posicion to cant do
begin
               personas
.cedula:=cant[x+1,1];
               personas
.cedula:=cant[x+1,2];
               personas
.cedula:=cant[x+1,3];
               personas
.cedula:=cant[x+1,4];
               personas
.cedula:=cant[x+1,5];
           end;

personas[x,1]:='';
personas[x,2]:='';
personas[x,3]:='';
personas[x,4]:='';
personas[x,5]:='';
writeln('Quiere borrar otra fila');
readln(opci);
until opci='n';
end;

var opcion:integer;
begin
repeat
clrscr;
       writeln('menu principal');
       writeln('1 insertar');
       writeln('2 mostrar');
       writeln('3 ordenar');
       writeln('4 modificar');
       writeln('5 buscar');
       writeln('6 eliminar');
       writeln('7 salir');
repeat
      readln (opcion);
until (opcion >0) and (opcion <8);
clrscr;
case (opcion) of
1:insertar(personas);
2:mostrar(personas);
3:ordenar(personas);
4:modificar(personas);
5:buscar(personas);
6:eliminar(personas);
end;
until opcion=7;
readkey;
end.


« Última modificación: 30 Junio 2013, 03:17 am por joseanh » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: AYUDA
« Respuesta #1 en: 30 Junio 2013, 03:21 am »

deja de repostear lo mismo -.-

duplicado
http://foro.elhacker.net/ejercicios/ayuda-t393782.0.html;msg1866100

(en realidad triplicado con otro por ahí que hiciste)

va contra las reglas...

si no te responden es porque no hay alguien conectado que sepa hacerlo

consejos para postear...

1- di lo que tienes (codigo, ya lo publicaste)
2- di lo que necesitas (que se supone que hace eso)
3- di en donde tienes problema y por qué puntualmente (incluye textualmente errores lanzados, da detalles de que está haciendo y que deberia)

4- entre las herramientas de edicion del post hay una lista desplegable que dice GeSHi le das, escoges tu lenguaje y lo pegas entre las etiquetas que te coloca, esto es para que sea comodamente visible


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines