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; |
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 |
Cita:
|
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:
Saludos. |
Cita:
me podrias ayudar en un ejemplo de mi ejercicio, es mi examen final y no eh podido con este programa mil gracias |
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: Agrega la declaración de variable y el código entre el begin/end que te puse en el mensaje anterior. Saludos. |
Cita:
Pues entonces, me temo que tu resultado será menor de 7, según tu ejemplo:
|
Cita:
|
Hola.
Cita:
Primero que nada borrá desde el editor toda linea que haga referencia a Edit1Exit, así como el código asociado al procedimiento, es decir cabecera de procedimiento y las líneas que que la siguen hasta el end; (incluído). También en el Object Inspector, el contenido de la casilla del evento OnExit de todos los Edits. Es decir, dejá todo como estaba antes. Seleccioná los seis Edits (te vas a dar cuenta por que tienen una marca en gris en cada una de sus esquinas). Ya no tenes que entrar ni tocar mas el formulario, el evento OnExit no tiene nada que ver con el botón, así que tampoco toques nada allí. Dirigite al Object Inspector, si no está visible hace View -> Object Inspector. En él verás dos pestañas, una de ellas dice Events, hacé click en ella y veras una lista con los eventos de los Edits. Sobre el que dice OnExit hace doble click. Ya estarás en el editor y con la cabecera creada como te comente en el mensaje #6: Borra las tres líneas que están debajo de la cabecera (desde el begin hasta el end). Seleccioná y copiá el siguiente trozo de código tál cuál como está: Y pegalo debajo de la cabecera (donde antes estaban las tres líneas que eliminaste). Saludos. Edito: Mucha suerte ;) |
También puedes ir acumulando y contando los valores válidos en la variable x y en otra variable contador:
PD: Te he resuelto la taréa, solo porque veo que haz puesto empeño. (Hay otra gente que viene con el enunciado y espera que le des una función terminada y probada) De todos modos, te veo un poco verde en el manejo de los componentes visuales y sus eventos (Edits, Botonoes, etc.). Deberías leer un poco más sobre el tema. Aquí verás un ejemplo de como crear un botón y responder al evento OnClick (cuando se presiona). Sigue practicando y diviértete mucho con Delphi! |
También puedes ir acumulando y contando los valores válidos en la variable x y en otra variable contador:
PD: Te he resuelto la taréa, solo porque veo que haz puesto empeño. (Hay otra gente que viene con el enunciado y espera que le des una función terminada y probada) De todos modos, te veo un poco verde en el manejo de los componentes visuales y sus eventos (Edits, Botonoes, etc.). Deberías leer un poco más sobre el tema. Sigue practicando y diviértete mucho con Delphi![/quote] mil gracias lo hice igual pero al momento de correrlo me marca un error en if (TryStrToFloat(edit1.text, aux)) then en ,aux) aqui me lo marca que puede ser muchas gracias por la ayuda. Nota: me sale esto there ins no overloaded version of 'trystrtofloat' that can be caller with these arguments |
Cita:
mil gracias lo hice igual pero al momento de correrlo me marca un error en if (TryStrToFloat(edit1.text, aux)) then en ,aux) aqui me lo marca que puede ser muchas gracias por la ayuda. Nota: me sale esto there ins no overloaded version of 'trystrtofloat' that can be caller with these arguments |
Declara x como Double en lugar de Real.
// Saludos |
Si no te funciona lo de "real" a "double" tendrías que chequear si haces un use de la librería SysUtils...
|
Cita:
|
Hola.
¿ Por que no nos pegas aquí todo el código que llevás echo ? Así es más fácil ver donde está el error. Saludos. :) |
Cita:
// Saludos |
Hola
Pensándolo bién... no voy a ser haragán, aquí tenés el código completo: Lo único que tenés que hacer es asignar FormCreate al evento OnCreate de Form1. Saludos. |
Cita:
// Saludos |
Cita:
Bueno, eso es por que consideré que dejar vacío un edit es un error. Una nota debería ser algún valor numérico... Saludos. |
La franja horaria es GMT +2. Ahora son las 15:30:56. |
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