NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
Invitado

NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Invitado » Mié Nov 03, 2010 1:55 am

HOLA NESESITO AYUDA URGENTE CON VISUAL BASIC.
TENGO QUE HACER UN PROGRAMA EN EL CUAL SE INGRESAN 8 CALIFICACIONES Y SE OBTIENE UN PROMEDIO, PARA ESTO USE UNA MATRIZ DECLADA CON DIM.
EL PROBLEMA ES QUE AL FINAL TENGO QUE OBTENER EL PROMEDIO TOTAL DE LAS 8 CALIFICACIONES UTILIZANDO UN COMMAND BUTTON, POR FAVOR AYUDENME SOY NUEVO EN ESTO Y NO CONOSCO MUCHO AL RESPECTO Y LO QUE NESESITO ES QUE ME DE EL RESULTADO FINAL EN UNA LABEL. AQUI EL CODIGO QUE E UTILIZADO PARA LA OBTENCION DE CALIFICACIONES

Private Sub Command1_Click()
Dim sumas(7, 3), i, j As Integer
total = 0
For i = 0 To 7
sumas(i, 0) = InputBox("DAME LA PRIMERA CALIFICACION")
lbl4.Caption = lbl4.Caption & sumas(i, 0) & vbCrLf
sumas(i, 1) = InputBox("DAME LA SEGUNDA CALIFICACION")
lbl5.Caption = lbl5.Caption & sumas(i, 1) & vbCrLf
sumas(i, 2) = Val(sumas(i, 0)) + Val(sumas(i, 1))
lbl6.Caption = lbl6 & sumas(i, 2) / 2 & vbCrLf
Next
End Sub

Avatar de Usuario
ali_rifa@hotmail.com

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por ali_rifa@hotmail.com » Mié Nov 03, 2010 2:32 am

mira compañero(a) esto es muy sencillo, es como si estuvieras realizando una operacion basica, simplemente creas el boton (promedio) y le pones una sintaxis en la cual especifique la suma de todas las calificaciones y las divides entre el total de las calificaciones que ingresaste. recuerda todo esto se hace dentro del boton promedio.
NOTA: si deseas que el resultado aparesca dentro de la etiqueta en el mismo boton promedio le asignas un valor a la etiqueta donde quieres que se presente el valor por ejemplo ( Text1. Text = Text2.Text + Text3.Text/2) por decir asi. espero que te haya sido de utilidad. 8) :D :D :o :P :lol:

Avatar de Usuario
Invitado

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Invitado » Mié Nov 03, 2010 3:05 am

ali_rifa@hotmail.com escribió:mira compañero(a) esto es muy sencillo, es como si estuvieras realizando una operacion basica, simplemente creas el boton (promedio) y le pones una sintaxis en la cual especifique la suma de todas las calificaciones y las divides entre el total de las calificaciones que ingresaste. recuerda todo esto se hace dentro del boton promedio.
NOTA: si deseas que el resultado aparesca dentro de la etiqueta en el mismo boton promedio le asignas un valor a la etiqueta donde quieres que se presente el valor por ejemplo ( Text1. Text = Text2.Text + Text3.Text/2) por decir asi. espero que te haya sido de utilidad. 8) :D :D :o :P :lol:
AQUI ESTA MI CODIGO DE MI BOTON PROMEDIO TOTAL, PERO ME MARCA UN ERROR DE COMPILACION ESPERO ME PUEDAS AYUDAR.

Private Sub Command1_Click()

Dim sumas(5, 3), i, j As Integer
total = 0
For i = 0 To 4
total.Caption = Label6.Caption & sumas(i, 0) & vbCrLf
total.Caption = Label6.Caption & sumas(i, 1) & vbCrLf
total.Caption = Label6.Caption & sumas(i, 2) & vbCrLf
total.Caption = Label6.Caption & sumas(i, 3) & vbCrLf
total.Caption = Label6.Caption & sumas(i, 4) & vbCrLf
total.Caption = Label6.Caption & sumas(i, 5) & vbCrLf
sumas(i, 2) = Val(i, 0) + Val(i, 1) / 8

Next
End Sub

Avatar de Usuario
Pitufo
Administrador foro
Mensajes: 647
Registrado: Dom Dic 03, 2006 3:39 pm
Contactar:

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Pitufo » Mié Nov 03, 2010 10:51 am

Cometes varios errores:

- Estás usando matrices de dos dimensiones cuando con el planteamiento que haces sólo necesitas una: calificaciones( 1...8 ). Tal vez no expones bien el planteamiento, pues en tu programa pides la primera y segunda calificación tras haber mencionado que son ocho y resulta sospechoso.

- Declaras y dimensionas una matriz en una función, pero la utilizas como si fueras a acceder a los datos que le cargaste en otra función a otra matriz del mismo nombre. La Matriz debes declararla en el encabezado del formulario para que sea accesible desde sus diferentes funciones (métodos), recuerda el concepto de variables locales, globales, etc.

- No declares una variable "j" si luego no la usas, se nota mucho el copiar y pegar :wink:

- El bucle es para recorrer las calificaciones 1 a la 8, puedes llamarlas internamente 0 a 7 si lo prefieres, pero no lo hagas con un bucle y manualmente con ocho líneas de código a la vez, piensa que si fueran 23.000 calificaciones, no sería muy adecuado usar 23.000 líneas de código.

Llama a las variables por lo que son, y será mucho más fácil de entender, si algo va a contener las calificaciones no lo llames "sumas".

Ya de paso aprovecho para pedirte amablemente que uses la tecla Caps lock o similar y no escribas en mayúsculas cuando no es necesario, no es agradable para los demás leer todo en mayúsculas y eso te juega en contra. Reserva el uso de mayúsculas para donde sea necesario o cuando necesites expresar algo como un grito, que supongo que no era el caso.

Avatar de Usuario
Invitado

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Invitado » Mié Nov 03, 2010 6:20 pm

Pitufo escribió:Cometes varios errores:

- Estás usando matrices de dos dimensiones cuando con el planteamiento que haces sólo necesitas una: calificaciones( 1...8 ). Tal vez no expones bien el planteamiento, pues en tu programa pides la primera y segunda calificación tras haber mencionado que son ocho y resulta sospechoso.

- Declaras y dimensionas una matriz en una función, pero la utilizas como si fueras a acceder a los datos que le cargaste en otra función a otra matriz del mismo nombre. La Matriz debes declararla en el encabezado del formulario para que sea accesible desde sus diferentes funciones (métodos), recuerda el concepto de variables locales, globales, etc.

- No declares una variable "j" si luego no la usas, se nota mucho el copiar y pegar :wink:

- El bucle es para recorrer las calificaciones 1 a la 8, puedes llamarlas internamente 0 a 7 si lo prefieres, pero no lo hagas con un bucle y manualmente con ocho líneas de código a la vez, piensa que si fueran 23.000 calificaciones, no sería muy adecuado usar 23.000 líneas de código.

Llama a las variables por lo que son, y será mucho más fácil de entender, si algo va a contener las calificaciones no lo llames "sumas".

Ya de paso aprovecho para pedirte amablemente que uses la tecla Caps lock o similar y no escribas en mayúsculas cuando no es necesario, no es agradable para los demás leer todo en mayúsculas y eso te juega en contra. Reserva el uso de mayúsculas para donde sea necesario o cuando necesites expresar algo como un grito, que supongo que no era el caso.
jejeje si disculpa por lo de las mayusculas, lo empleare desde ahora pero el punto es que en mi programa solicito 2 calificaciones pero de 8 materias, y al final tengo que promediar el total, estudio en un bachillerato y el detalle es que el profesor nos dio el codigo :p, y despues nos encargo que hicieramos un boton con el cual debemos obtener el promedio total de las 8 materias y ahi es en donde entra mi problema, NO SE COMO HACERLO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¿ :cry2:

Avatar de Usuario
Pitufo
Administrador foro
Mensajes: 647
Registrado: Dom Dic 03, 2006 3:39 pm
Contactar:

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Pitufo » Mié Nov 03, 2010 8:21 pm

Invitado escribió:jejeje si disculpa por lo de las mayusculas, lo empleare desde ahora pero el punto es que en mi programa solicito 2 calificaciones pero de 8 materias, y al final tengo que promediar el total, estudio en un bachillerato y el detalle es que el profesor nos dio el codigo :p, y despues nos encargo que hicieramos un boton con el cual debemos obtener el promedio total de las 8 materias y ahi es en donde entra mi problema, NO SE COMO HACERLO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¿ :cry2:
Gracias por abandonar el uso de mayúsculas.

Te paso el código integrado en el mismo botón que pide los datos y así queda todo simple, pues si has de usar otro botón distinto, el código que te dieron requiere varios cambios importantes. Las Líneas que procesan el total son la gracia, y corregí la que pone el total en el tercer elemento de la matriz.

Código: Seleccionar todo

Private Sub Command1_Click()
Dim sumas(7, 3), i, j As Integer
total = 0
For i = 0 To 7
sumas(i, 0) = InputBox("DAME LA PRIMERA CALIFICACION")
lbl4.Caption = lbl4.Caption & sumas(i, 0) & vbCrLf
sumas(i, 1) = InputBox("DAME LA SEGUNDA CALIFICACION")
lbl5.Caption = lbl5.Caption & sumas(i, 1) & vbCrLf
sumas(i, 2) = Val(sumas(i, 0)) + Val(sumas(i, 1))
lbl6.Caption = lbl6 & sumas(i, 2) / 2 & vbCrLf
total = total + (sumas(i, 2) / 2)
Next
MsgBox total / 8, vbOKOnly, "Resultado"
End Sub
Saludos.

Avatar de Usuario
Invitado

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Invitado » Jue Nov 04, 2010 6:03 am

Pitufo escribió:
Invitado escribió:jejeje si disculpa por lo de las mayusculas, lo empleare desde ahora pero el punto es que en mi programa solicito 2 calificaciones pero de 8 materias, y al final tengo que promediar el total, estudio en un bachillerato y el detalle es que el profesor nos dio el codigo :p, y despues nos encargo que hicieramos un boton con el cual debemos obtener el promedio total de las 8 materias y ahi es en donde entra mi problema, NO SE COMO HACERLO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¿ :cry2:
Gracias por abandonar el uso de mayúsculas.

Te paso el código integrado en el mismo botón que pide los datos y así queda todo simple, pues si has de usar otro botón distinto, el código que te dieron requiere varios cambios importantes. Las Líneas que procesan el total son la gracia, y corregí la que pone el total en el tercer elemento de la matriz.

Código: Seleccionar todo

Private Sub Command1_Click()
Dim sumas(7, 3), i, j As Integer
total = 0
For i = 0 To 7
sumas(i, 0) = InputBox("DAME LA PRIMERA CALIFICACION")
lbl4.Caption = lbl4.Caption & sumas(i, 0) & vbCrLf
sumas(i, 1) = InputBox("DAME LA SEGUNDA CALIFICACION")
lbl5.Caption = lbl5.Caption & sumas(i, 1) & vbCrLf
sumas(i, 2) = Val(sumas(i, 0)) + Val(sumas(i, 1))
lbl6.Caption = lbl6 & sumas(i, 2) / 2 & vbCrLf
total = total + (sumas(i, 2) / 2)
Next
MsgBox total / 8, vbOKOnly, "Resultado"
End Sub
Saludos.

gracias realmente te lo agradezco ya lo probe y si me funciono solo me quedo una duda, para que sirve el vbOKOnl?????????????

Avatar de Usuario
Pitufo
Administrador foro
Mensajes: 647
Registrado: Dom Dic 03, 2006 3:39 pm
Contactar:

Re: NESESITO AYUDA ES URGENTE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Mensaje por Pitufo » Jue Nov 04, 2010 7:51 am

Invitado escribió:...solo me quedo una duda, para que sirve el vbOKOnl?????????????
Ahí se definen qué botones ha de mostrar la ventana (aceptar, rechazar, cancelar, sí, no) o algunas combinaciones de ellos. Con este valor concretamente, se hace que se muestre únicamente el Aceptar (ok). Es posible que si lo dejas en blanco, sin poner ese valor, salga lo mismo, no recuerdo el botón por defecto pero probablemente sea ese.

Responder