Visual Basic - AYUDA CON ESTE EJERCICIO

Life is soft - evento anual de software empresarial
 
Vista:

AYUDA CON ESTE EJERCICIO

Publicado por Mark (1 intervención) el 19/10/2013 23:48:10
Saludos, me han dejado un ejercicio pero cuando lo he resuelto no me bota los resultados, alguien podria revisar mi codigo porfavor aca les dejo el codigo y el Problema

Problema:

Para una muestra de N personas entrevistadas(mínimo 5 y máximo 25) se debe ingresar y almacenar en vectores los siguientes datos: DNI, sexo, edad y valor del cociente Intelectual. Se desea saber:

A) cociente intelectual Promedio de la persona entrevistada
B) Cociente intelectual promedio de los hombres y las mujeres
C) Quienes tienen mayor cociente intelectual, los hombres o las mujeres
D) A la edad de 15 años cuantos tienen un cociente intelectual mayor a 120
E) Diferencia de los promediosde los cociente intelectuales de los que tienen 15 años y los que tienen 45 años
F) Datos de la persona que tiene el mayor cociente intelectual; en caso coincidir más de una persona mostrar un listado con los datos de las mismas

Codigo:

Public Class Form1

Private Sub BtnEjecutar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEjecutar.Click
'1 Definir Variables
Dim I, J, N, K, MUJERS, HOMBRES As Integer
Dim DNI(25), EDAD(25), CI(25) As Integer
Dim SEXO(25) As String
Dim Promedio, PromedioH, PromedioM, Promedio15, promedio45, DiferenciaPromedios As Single
Dim CICont, CIM, CIF, ci15, añ15, añ45, ci45 As Integer

'2 Número de personas entrevistadas
Do
N = Val(InputBox("Ingrese el número de personas entrevistadas: "))
If Not (N >= 5 And N <= 25) Then
MessageBox.Show("ERROR")
End If
Loop Until N >= 5 And N <= 25

'3 Ingresar la Informacion a los vectores
For K = 1 To N
DNI(K) = Val(InputBox("Ingrese el Número de DNI de la persona: ", "ENTREVISTADO"))
Do
SEXO(K) = UCase(InputBox("Ingrese el sexo de la persona: ", "M-F"))
If Not (SEXO(K) = "M" Or SEXO(K) = "F") Then
MessageBox.Show("ERROR")
End If
Loop Until SEXO(K) = "M" Or SEXO(K) = "F"

EDAD(K) = Val(InputBox("Ingrese la edad de la persona: ", "ENTREVISTADO"))

CI(K) = Val(InputBox("Ingrese el Cociente intelectual de la persona: ", "ENTREVISTADO"))

CICont = CICont + CI(K)
'3.1 Promedio Hombres y Mujeres

If SEXO(K) = "M" Then
HOMBRES = HOMBRES + 1
CIM = CIM + CI(K)
PromedioH = CIM / HOMBRES
End If

If SEXO(K) = "F" Then
MUJERS = MUJERS + 1
CIF = CIF + CI(K)
PromedioM = CIF / MUJERS
End If
Next

'4 Respuestas Faltantes:
'4.1 Promedio General
Promedio = CICont / N
'4.2 Quienes tienen Mayor Cociente

If PromedioH < PromedioM Then
Lst01.Items.Add("Mayor Cociente Intelecual: MUJERES")
Else
Lst01.Items.Add("Mayor Cociente Intelecual: HOMBRES")
End If

'4.3 15 AÑOS = CI>120
For K = 1 To N
If EDAD(K) = 15 Then
ci15 = ci15 + CI(K)
añ15 = añ15 + 1
Promedio15 = ci15 / añ15
If CI(K) > 120 Then
ci15 = ci15 + 1
End If
End If
If EDAD(K) = 45 Then
ci45 = ci45 + CI(K)
añ45 = añ45 + 1
promedio45 = ci45 / añ45
End If
Next
If promedio45 > Promedio15 Then
DiferenciaPromedios = promedio45 - Promedio15
Else
DiferenciaPromedios = Promedio15 - promedio45
End If

'4.4 Personas con Mayor CI

For I = 1 To N - 1
For J = I + 1 To N
If CI(I) > CI(J) Then
CI(0) = CI(I)
CI(I) = CI(J)
CI(J) = CI(0)
DNI(0) = DNI(I)
DNI(I) = DNI(J)
DNI(J) = DNI(0)
SEXO(0) = SEXO(I)
SEXO(I) = SEXO(J)
SEXO(J) = SEXO(0)
EDAD(0) = EDAD(I)
EDAD(I) = EDAD(J)
EDAD(J) = EDAD(0)

End If


Next
Next
'5 Mostrar Resultados

Lst01.Items.Add("PROMEDIO Hombres: " & PromedioH)
Lst01.Items.Add("Promedio Mujeres: " & PromedioM)
Lst01.Items.Add("Promedio: " & Promedio)
Lst01.Items.Add("Personas con un Cociente Intelectual mayor a 120: " & ci15)
Lst01.Items.Add("Diferencia de Los promedios: " & DiferenciaPromedios)
Lst01.Items.Add("Cociente Intelectual: " & CI(K) & "DNI: " & DNI(K) & "Sexo: " & SEXO(K) & "Edad: " & EDAD(K))

End Sub
End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder