Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 19
gerupc Va por buen camino
Talking

Aupa de nuevo,

faltaba un pequeño detalle, ya que no me cuadraban algunos resultados... El fallo era que la suma de el ultimo digito de la suma de los "cuatro" primeros
digitos, tenia que ser igual al último digito de la clave entrante.

Y claro, de la anterior manera, lo que se hacía era la suma de todos los digitos, para ello lo que he hecho ha sido hacer a k:=-Ult_digito, quedando así el código:

Código Delphi [-]
program Ejercicio3;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  clave: integer;
  Ult_digito: integer;
  k: integer;
begin
  Write('Escribe el valor de la clave:');
  Readln(clave);
    Ult_digito := clave mod 10;  //Asi consigo el ultimo digito, ya que es igual al resto
    k := - Ult_digito; //Para que unicamente me sume todos exceptuando el Ultimo Digito.
      while clave > 0 do
        begin
          k := k + (clave mod 10); //Almacena el valor de cada digito excepto del ultimo, y los suma...
          clave := clave div 10; //hasta que esto sea 0 clave := 0
        end;
  if k mod 10 = Ult_digito then
    Writeln('La clave es CORRECTA')
  else
    Writeln('La clave es INCORRECTA');
    readln;
end.

Un saludo!

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #2  
Antiguo 17-08-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

En el código de seoane, la variable J guarda el valor del último dígito, así que el único cambio que podrías hacerle para que funcione como esperas es:

Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  i,j,k: Integer;
begin
  Writeln('Introduce la clave:');
  Readln(i);
  // Aquí podrías validad si la clave consta de 5 dígitos...
  j :=  i mod 10;
  i := i div 10; // Con esto solo sumamos los primeros 4 dígitos...
  k :=  0;
  while i > 0 do
  begin
    inc(k, i mod 10);
    i := i div 10
  end;
  if (k mod 10) = j then
    Writeln('La clave es correcta')
  else
    Writeln('La clave no es correcta')
end.


Saludos...

Última edición por maeyanes fecha: 17-08-2007 a las 21:03:47.
Responder Con Cita
  #3  
Antiguo 18-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 19
gerupc Va por buen camino
Smile

Aupa,

de acuerdo, muchas gracias!! Todo solucionado...

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con ejercicio en Delphi gerupc Varios 5 11-08-2007 21:39:28
Como usar solo dos posiciones decimales alcides Varios 9 02-04-2007 19:31:31
Ejercicio Solarintg Varios 1 02-12-2006 15:48:07
Mover posiciones dentro de un list Box creus Varios 13 04-11-2006 18:03:44
posiciones decimales karocs Varios 6 12-09-2004 19:24:01


La franja horaria es GMT +2. Ahora son las 10:43:19.


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