Autor
|
Tema: vb en aplicacion consola (Leído 5,935 veces)
|
chrisstine2975
Desconectado
Mensajes: 4
|
hola! soy nueva por aqui y estoy aprendiendo visual basic, se que para muchos esto resultara facil, pero yo no logro entender porque no me da el resultado adecuado.
si alguien me puede indicar que estoy haciendo mal, para poder corregir... estamos viendo arreglos en 2d..
este es el problema y lo que tengo hasta ahorita
. Se tienen las estaturas del grupo de estudiantes de programación 2, grupo 03 y se desea por medio de un programa encontrar la estatura más alta, la más baja y el promedio de estaturas del grupo. 2. Sub Main() 3. Dim estudiantes, suma, promedio, may, menor As Double 4. Console.WriteLine("cuantos estudiantes desea ingresar:") 5. estudiantes = Console.ReadLine 6. Dim estatura(estudiantes) As Double 7. Dim i As Integer 8. For i = 0 To estudiantes - 1 9. Console.WriteLine("ingrese la estatura del estudiante:" & i + 1) 10. estatura(estudiantes) = Console.ReadLine 11. suma = estatura(estudiantes) + suma 12. Next 13. 14. may = 0 15. For i = 0 To estatura(estudiantes) 16. If estatura(estudiantes) >= may Then 17. may = estatura(i) 18. End If 19. 20. Next 21. menor = 0 22. For i = 0 To estatura(estudiantes) 23. If estatura(estudiantes) < menor Then 24. menor = estatura(estudiantes) 25. End If 26. Next 27. promedio = suma / estudiantes 28. 29. Console.WriteLine(" el Mayor de la estatura es de:" & may) 30. Console.WriteLine(" el Menor de la estatura es de:" & menor) 31. Console.WriteLine(" el promedio de la estatura es de:" & promedio) 32. Console.ReadLine() 33. 34. 35. 36. End Sub
lo que me esta fallando es que no logro encontrar la estatura menor y mayor, el promedio si me funciona.....
|
|
« Última modificación: 16 Mayo 2012, 07:46 am por chrisstine2975 »
|
En línea
|
|
|
|
kub0x
Enlightenment Seeker
Moderador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Para la próxima postea en el subforo correcto y colorea el código con la etiqueta GeShi que encontraras en el editor de mensajes. Bueno, tu error está en que no declaras bien la forma en la que recorres los For de Mayor/Menor Estatura. Es decir, tu haces lo siguiente may = 0 For i = 0 To estatura(estudiantes) If estatura(estudiantes) >= may Then may = estatura(i) End If Next menor = 0 For i = 0 To estatura(estudiantes) If estatura(estudiantes) < menor Then menor = estatura(estudiantes) End If Next
Ahí lo que haces es ir desde 0 hasta el valor de la matriz Estatura en el indice Estudiantes, donde Estudiantes será el valor que ingresaste al principio. Para recorrer bien el For, hazlo de la siguiente manera (Como hiciste al principio) For i = 0 To estudiantes - 1 If estatura(i) >= may Then may = estatura(i) End If next
Tienes más errores, pero derivan de lo que te he explicado. Corrigelos y nos cuentas Saludos.
|
|
« Última modificación: 16 Mayo 2012, 12:49 pm por kub0x »
|
En línea
|
|
|
|
chrisstine2975
Desconectado
Mensajes: 4
|
gracias!! lo reviso y les cuento!!!
|
|
|
En línea
|
|
|
|
chrisstine2975
Desconectado
Mensajes: 4
|
ya lo revise.... pero no logro dar con que pasa..... lo corregi pero ahora me funciona el promedio pero no me funciona el menor ni mayor..... Dim estudiantes, suma, promedio, may, menor As Double Console.WriteLine("cuantos estudiantes desea ingresar:") estudiantes = Console.ReadLine Dim estatura(estudiantes) As Double Dim i As Integer For i = 0 To estudiantes - 1 Console.WriteLine("ingrese la estatura del estudiante:" & i + 1) estatura(estudiantes) = Console.ReadLine suma = estatura(estudiantes) + suma Next may = 0 For i = 0 To estudiantes - 1 If estatura(i) >= may Then may = estatura(i) End If
Next menor = 0 For i = 0 To estudiantes - 1 If estatura(i) < menor Then menor = estatura(i) End If Next
promedio = suma / estudiantes Console.WriteLine(" el Mayor de la estatura es de:" & may) Console.WriteLine(" el Menor de la estatura es de:" & menor) Console.WriteLine(" el promedio de la estatura es de:" & promedio) Console.ReadLine()
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Dim estudiantes, suma, promedio, may, menor As Double Console.WriteLine("cuantos estudiantes desea ingresar: ") estudiantes = Console.ReadLine Dim estatura(estudiantes) As Double Dim i As Integer For i = 0 To estudiantes - 1 Console.WriteLine("ingrese la estatura del estudiante " & Cstr(i + 1) & ": ") estatura(i) = Console.ReadLine suma = estatura(i) + suma Next may = 0 For i = 0 To estudiantes - 1 If estatura(i) >= may Then may = estatura(i) End If Next menor = 0 For i = 0 To estudiantes - 1 If estatura(i) < menor Then menor = estatura(i) End If Next promedio = suma / estudiantes Console.WriteLine(" el Mayor de la estatura es de:" & may) Console.WriteLine(" el Menor de la estatura es de:" & menor) Console.WriteLine(" el promedio de la estatura es de:" & promedio) Console.ReadLine()
Asi tendria que andar... lo que no se es si en vb.net se usa Cstr(integer) o sino anda le haces (i + 1).ToString() Y lo otro es que en vb6 cuando pones array(6) ese 6 no es la cantidad, sino el ultimo valor, por lo que habria 7 estudiantes, pero no se en vb.net si cambia eso, esto lo miras si aprendes a debuggear tu programa, poniendo Break Points y viendo como va aumentando la variable del bucle y como va funcionando tu codigo, asi le encuentras el error facil, mas en esto que son pocas lineas. Despues lo de menor o mayor, fijate bien que es lo que queres, ya que puede que algunos midan lo mismo de altura y el ultimo que se ingrese de esos que miden igual, sera el mayor si es que no hay otro mayor aun. Es decir, de los mayores, si hay mas de 1 con la misma altura, se guardara como mayor el ultimo que se ingrese. Pero para lo de el menor no, asi que tienes que ver eso, tal vez hasta puedes hacer que te diga: "Hay X mayores.. son: ...", dejarias de boca abierta al profesor jeje
|
|
|
En línea
|
|
|
|
chrisstine2975
Desconectado
Mensajes: 4
|
jajaja... gracias por la ayuda lo pruebo mañana y les cuento....
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como crear tu primera Aplicacion de Consola
.NET (C#, VB.NET, ASP)
|
gonzalo57
|
0
|
3,551
|
7 Junio 2012, 13:53 pm
por gonzalo57
|
|
|
Salir de una aplicacion de consola
.NET (C#, VB.NET, ASP)
|
MaNuLoki
|
4
|
13,612
|
24 Octubre 2014, 04:09 am
por Eleкtro
|
|
|
[DUDA] Ejecutar aplicación en C sin que aparezca la consola
Programación C/C++
|
DrKillador
|
8
|
7,590
|
28 Noviembre 2012, 20:35 pm
por fary
|
|
|
[Solucionado] Aplicación de Consola con Timer no funciona
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
5
|
5,578
|
8 Abril 2013, 15:39 pm
por Eleкtro
|
|
|
Aplicacion de Consola C# - Programa Pilas
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Castiel
|
10
|
16,437
|
3 Agosto 2016, 05:58 am
por El Benjo
|
|