Module Module1
Private opcion As Int16 = 0
Private menu() As String = {"Salir", "mercancia 1", "mercancia 2", "mercancia 3", "mercancia 4", "mercancia 5"}
Private precio() As Double = {0, 1.67, 24.8, 3.8, 4.54, 5.9}
Sub Main()
Dim listMercancia As New Generic.List(Of Int16)
Dim listTotal As New Generic.List(Of Double)
Dim Total As Double = 0
Dim cantidad As Double = 0
While OpcionesMenu() > 0
listMercancia.Add(opcion)
Console.Write("Ingrese la cantidad del producto: ")
cantidad = Double.Parse(Console.ReadLine())
listTotal.Add(precio(opcion) * cantidad)
Console.Clear()
End While
Console.Clear()
For g As Int16 = 0 To listMercancia.Count - 1
Console.WriteLine(String.Format("{0}{1}{2}", menu(listMercancia(g)), vbTab, Strings.FormatCurrency(listTotal(g))))
Total += listTotal(g)
Next
Console.WriteLine(String.Format("El total a pagar es: {0}", Strings.FormatCurrency(Total)))
Console.Read()
End Sub
Private Function OpcionesMenu() As Int16
Console.WriteLine(vbLf & "Seleccione el numero de la mercancia" & vbLf)
For g As Int16 = 0 To menu.Length - 1
Console.WriteLine(String.Format("{0}- {1} {2}", g, menu(g), IIf(Strings.FormatCurrency(precio(g)) = Strings.FormatCurrency(0), "", Strings.FormatCurrency(precio(g)))))
Next
opcion = Val(Console.ReadLine())
Return opcion
End Function
End Module
martes, 22 de marzo de 2011
Ejercicio1. Simulación de una compra de una tienda
miércoles, 12 de enero de 2011
Redimensionando Vectores
En esta entrega traemos un facil ejemplo de como crear un vector dinamico es decir que no tendras la necesidad de indicarle la cantidad de posiciones a utilizar,el automaticamente las agregara según la necesidad del usuario.
Module Module1
Dim vector(0) As String 'Aqui se declara el vector
Dim contador As Integer = 0 'Aqui declaramos un contador que llevara la cuenta de los datos ingresados
Dim opciones As Integer ' Aqui declaramos la variable que guardara la opcion Agregar,Ver,Salir.
Dim ver As Boolean = False ' Esta variable solo nos indicara si hay o no datos en el vector
Sub Main()
Call menu()
End Sub
Private Sub menu()
' Metodo opciones del Menu
Console.Clear()
Console.WriteLine(" Desea Ingresar datos Presione 1 ")
Console.WriteLine(" Desea ver los datos ingresados Presione 2 ")
Console.WriteLine(" Desea salir del sistema 3 ")
opciones = Console.ReadLine
If opciones = 1 Then
'Llama al metodo agregardatos
Call agregarDatos()
ElseIf opciones = 2 Then
'Llama al metodo verDatos
Call verDatos()
ElseIf opciones = 3 Then
'Cierra la aplicacion
End
Else
Console.Clear()
Console.WriteLine(" Opcion Incorrecta ")
Console.ReadKey()
Call menu()
End If
End Sub
Private Sub agregarDatos()
'Metodo que agrega datos al vector a la ves que lo redimenciona
' Asignamos verdadero si hay datos en el vector
ver = True
Console.Clear()
Console.WriteLine(" Ingrese un dato al Array ")
' Guardamos el dato en la posicion 0 del vector que es el valor inicial
' del contador, ya que esa es la posicion inicial de todo vector
vector(contador) = Console.ReadLine
' Aumentamos en uno el contador
contador = contador + 1
' Aqui es donde redimensionamos el Vector,ReDim Preserve
'ademas de redimensionar preserva los datos antes guardados,
'le asignamos la nueva cantidad de elementos con el nuevo valor del
contador
ReDim Preserve vector(contador)
Console.Clear()
Call menu()
End Sub
Private Sub verDatos()
Console.Clear()
Console.WriteLine(" Numero de datos Ingresados : " & contador)
' Verificamos si hay datos en el vector,si los hay se mostraran
'caso contrario se enviara un mensaje de error
If ver = True Then
' Recorremos el vector con un bucle For para extraer los datos
' como se menciono,la pocision inicial de todo vector es 0,
' por ello el recorrido del For sera de 0 hasta la Cantidad de
' elementos guardados -1 ,logicamente....
For a As Integer = 0 To contador - 1
Console.WriteLine(vector(a))
Next
Else
Console.WriteLine(" ERROR, No hay datos ingresados en el vector ")
End If
Console.ReadKey()
Call menu()
End Sub
End Module