Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2012
alenbebote alenbebote is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 9
Poder: 0
alenbebote Va por buen camino
Programa de promedio

Hola acabo de iniciar en esto de delphi y me han dejado un programa que calcule el promedio de 6 edits, el programa si me funciona, pero el profesor dice que tambien saque el promedio de por ejemplo 3 edits solamente y al momento de correr el programa y solo rellenar 3 edits me marca un error no se como hacer que si lleno solo 2, 3, 4 o 5 edits tambien me saque el promedio y no me salga el error espero me puedan ayudar

procedure TPromediometal.Button2Click(Sender: TObject);
var
c1,c2,c3,c4,c5,c6: integer;
x: real;
begin
c1:=Strtoint (edit1.text);
c2:=Strtoint (edit2.text);
c3:=Strtoint (edit3.text);
c4:=Strtoint (edit4.text);
c5:=Strtoint (edit5.text);
c6:=Strtoint (edit6.text);
x:=(c1+c2+c3+c4+c5+c6) / 6;
end;
memo1.lines.clear;
memo1.lines.add (FormatFloat ('Tu promedio #.##!' ,x));
if x < 7 then
memo1.lines.add ('Reprobaste ¡Lo Sentimos!')
else
memo1.lines.add ('Aprobaste ¡Felicidades!');
end;
Responder Con Cita
  #2  
Antiguo 18-05-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por favor, usa etiquetas adecuadas para escribir código.

Necesariamente debes verificar Edit por Edit cuál se rellenó y contarlos pues, si sólo se escribieron tres números, entonces el promedio no puedes tomarlo dividiendo entre seis.

// Saludos
Responder Con Cita
  #3  
Antiguo 18-05-2012
alenbebote alenbebote is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 9
Poder: 0
alenbebote Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Por favor, usa etiquetas adecuadas para escribir código.

Necesariamente debes verificar Edit por Edit cuál se rellenó y contarlos pues, si sólo se escribieron tres números, entonces el promedio no puedes tomarlo dividiendo entre seis.

// Saludos
no tengo idea como verificar los edits, como le puedo hacer para que no me marque error, mi profesor me dijo que no me faltaba mucho, realmente no se demasiado-- es que el profesor dijo que el puede rellenar el edit 3 con el 5 y con el 6 osea que seria c3+c5+c6 / 3 pero no se como hacer eso
Responder Con Cita
  #4  
Antiguo 18-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 alenbebote.

roman se refiere a que encierres tu código entre las etiquetas [delphi] tu_codigo [/delphi] para que se pueda leer más fácil.


Cita:
no tengo idea como verificar los edits, como le puedo hacer para que no me marque erro
Una forma, no la única pero sí sencilla, es que asignes este código al evento OnExit de cada uno de los Edits:
Código Delphi [-]
procedure TForm1.EditExit(Sender: TObject);
var
  cd: Double;
begin
  with Sender as TEdit do
  begin
    if not TryStrToFloat(Text, cd) then  // si no se puede convertir...
    begin
      ShowMessage('Error en la nota ingresada'); // mostrar mensaje de error
      SetFocus  // devolver el foco al Edit
    end
  end
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 18-05-2012
alenbebote alenbebote is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 9
Poder: 0
alenbebote Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola alenbebote.

roman se refiere a que encierres tu código entre las etiquetas [delphi] tu_codigo [/delphi] para que se pueda leer más fácil.



Una forma, no la única pero sí sencilla, es que asignes este código al evento OnExit de cada uno de los Edits:
Código Delphi [-]
procedure TForm1.EditExit(Sender: TObject);
var
  cd: Double;
begin
  with Sender as TEdit do
  begin
    if not TryStrToFloat(Text, cd) then  // si no se puede convertir...
    begin
      ShowMessage('Error en la nota ingresada'); // mostrar mensaje de error
      SetFocus  // devolver el foco al Edit
    end
  end
end;

Saludos.
ok pero no entiendo como poner este codigo debo de hacer una variable cd:double;
me podrias ayudar en un ejemplo de mi ejercicio, es mi examen final y no eh podido con
este programa mil gracias
Responder Con Cita
  #6  
Antiguo 18-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Seleccioná todos los edits mediante el mouse o presionando la tecla Shift y haciendo click sobre cada uno de ellos hasta que estén todos seleccionados.

Luego anda al Object inspector, donde dirá: 6 items selected. Hace click sobre la pestaña Events y doble click sobre OnExit. Delphi automáticamente te generará la cabecera:
Código Delphi [-]
procedure TForm1.Edit1Exit(Sender: TObject);
begin

end;
Agrega la declaración de variable y el código entre el begin/end que te puse en el mensaje anterior.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 18-05-2012 a las 08:33:37.
Responder Con Cita
  #7  
Antiguo 18-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por alenbebote Ver Mensaje
ok pero no entiendo como poner este codigo debo de hacer una variable cd:double;
me podrias ayudar en un ejemplo de mi ejercicio, es mi examen final y no eh podido con
este programa mil gracias
¿Examen final?, una simple suma y división

Pues entonces, me temo que tu resultado será menor de 7, según tu ejemplo:

Código Delphi [-]
if x < 7 then
  memo1.lines.add ('Reprobaste ¡Lo Sentimos!')
else
  memo1.lines.add ('Aprobaste ¡Felicidades!');
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
Promedio.. digitos primos .. luisito2011 Varios 3 07-05-2011 02:54:02
Promedio de fechas Pancholp1986 MySQL 6 23-03-2011 15:34:29
cálculo de promedio en delphi ??? Trident OOP 8 24-09-2010 20:18:40
promedio velezbunzl Varios 12 17-03-2009 00:07:32
Sacar el promedio o media en sql ? juangabriel1786 SQL 4 04-12-2008 23:33:28


La franja horaria es GMT +2. Ahora son las 23:35:20.


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