Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Te hago una observación sobre la funcion frend, no es necesario utilices var en los parámetros
Código Delphi [-]
function frend(n1, n2:integer):Real;
begin
   frend:= (n1/n2)*100;
end;


Sobre tu primera pregunta, creo que podes hacerlo de dos maneras:
1)
Código Delphi [-]
const
  Nmax= 1000; // o lo que gustes
var
  i, Tope: Integer;
  s: string;
begin
  Str(Nmax, s);
  Write('Cuantos jugadores?'+' (Maximo: '+ s +'):');
  Readln(Tope);
  for i:= 1 to Tope do
  ...

2)Pero creo que es un poco mejor finalizar el ingreso cuando se de Intro sin ingresar nada ('')
Código Delphi [-]
var
  player: t_club;
  Ingresados: Integer;
...
var
  x,y: Integer;
  rendto:real;
begin
  Ingresados:= 1;
  write('Nombre del jugador (nada para terminar): ');
  readln(player[Ingresados].nombre);
  while (i < Nmax) and (Player[Ingresados].nombre <> '') do
  begin
    Inc(Ingresados); 
    // pedir demas datos y mostrar resultados
    ...
    write('Nombre del jugador (nada para terminar): ');
    readln(player[Ingresados].nombre);
  end;
  ....
  ...
end.

Sobre tu segunda pregunta podrías hacer una función que te devuelva la posición dentro del arreglo si encuentra el dato,
o cero si no.
Código Delphi [-]
function Buscar(Nombre: string; Num: Integer): Integer;
var
  i,sw: Integer;
begin
  sw:= 0;
  for i:= 1 to Num do
  begin
    writeln(player[i].Nombre+' '+Nombre);
    if Player[i].Nombre = Nombre then
      sw:= i;
  end;
  Buscar:= sw;
end;

Una vez lleno el arreglo, se usaria así:
Código Delphi [-]
...
var
  jugador: string;// nombre a buscar
  Posic: Integer; // posición del dato en el arreglo
begin
  write('Buscar: '); Readln(jugador);
  Posic:= Buscar(Jugador, Ingresados); 
  if Posic > 0 then 
    //  los datos a modificar estarán en Player[Posic]
  ...

Es muy útil el consejo de Neftali si usas datos en memoria. Te va a ahorrar bastante tiempo...

También sería mejor si hicieras un procedimiento/función para el ingreso, otro para modificar, etc.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-01-2011 a las 18:19:47.
Responder Con Cita
  #2  
Antiguo 06-01-2011
goomba91 goomba91 is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 9
Poder: 0
goomba91 Va por buen camino
gracias de antemano, pero tengo una dudilla.

que quieres decir cuando escribes:
Str(Nmax, s);

...
Inc(Ingresados);es decir, ¿para que sirve?
Responder Con Cita
  #3  
Antiguo 06-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por goomba91 Ver Mensaje
gracias de antemano, pero tengo una dudilla.

que quieres decir cuando escribes:
Str(Nmax, s);

...
Inc(Ingresados);es decir, ¿para que sirve?
Hola.

Str es un procedimiento de la unit System que convierte una variable numérica a string ('Nmax' en este caso) y la almacena
en 's' de tipo string. En la ayuda de Delphi tenés toda la información. Se podría haber usado IntToStr con el mismo resultado.

La variable Ingresados almacena la cantidad de jugadores ingresados que en este caso, pueden ser menos o la totalidad-1 de
elementos del arreglo pero no más. De ahí que la línea Inc(Ingresados) incrementa la cantidad de jugadores ingresados en 1
en cada ingreso y en el ciclo while se evalúa ( i < Nmax) para que no supere el rango declarado del arreglo (Nmax).

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 06-01-2011 a las 15:37:21.
Responder Con Cita
  #4  
Antiguo 07-01-2011
goomba91 goomba91 is offline
Registrado
NULL
 
Registrado: dic 2010
Posts: 9
Poder: 0
goomba91 Va por buen camino
pero no seria (Ingresados<Nmax) porque sino no le veo sentido dado que no he introducido ningun valor para i
Responder Con Cita
  #5  
Antiguo 14-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por goomba91 Ver Mensaje
pero no seria (Ingresados<Nmax) porque sino no le veo sentido dado que no he introducido ningun valor para i
Si, tenés toda la razón.
Disculpá el error, pero escribí el código sin probarlo por que no tenía delphi en ese equipo...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi Fútbol Club MaMu La Taberna 53 22-03-2008 00:20:51
...genialidades en el futbol... Jure Humor 15 29-02-2008 18:22:35
una de futbol Pedro-Juan Humor 2 05-11-2007 19:56:56
La sexta, futbol y..... userlazarus La Taberna 0 28-02-2007 19:21:33
Futbol en el Cielo gatosoft Humor 0 30-05-2003 22:16:45


La franja horaria es GMT +2. Ahora son las 11:19:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi