miércoles, 9 de mayo de 2012

Ingresar, guardar y mostrar datos múltiples - Consola

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

Ejercicio 6 (Visual Basic.NET, aplicación de consola)

Introducción: En este ejemplo se muestra la utilización de un vector para almacenar valores ingresados por el usuario junto con la función FOR para realizar acciones de forma repetitiva mientras se cumpla una condición determinada.

Un vector es un conjunto de lugares de memoria donde cada uno de estos lugares tiene un número o posición que los identifica y nos permite almacenar y leer datos.

Se utiliza un Proyecto de tipo "Aplicación de consola" de Visual Basic 2010 que se ejecuta precisamente en una consola de MS-DOS para interactuar con el usuario.


Letra: solicitar al usuario el ingreso de 5 nombres y luego mostrarlos en pantalla.



Descargar Archivos del Proyecto


Código de la solución:

Module Module1

    Dim nombre As String


    Sub Main()
        'Se define un vector con 5 lugares para almacenar la información


        Dim nombres(5) As String


        'Se utiliza FOR para repetir la acción de leer y guardar el nombre
        'dentro de las posiciones del vector


        For i = 0 To nombres.Length - 2 Step 1
            Console.Write(i + 1 & " - Ingrese un nombre: ")
            nombres(i) = Console.ReadLine
        Next


        Console.Clear()


        'Se utiliza FOR nuevamente para repetir la acción de mostrar en
        'pantalla el contenido (nombres) de cada posición del vector


        For i = 0 To nombres.Length - 2 Step 1
            Console.WriteLine("El nombre es: " & nombres(i))
        Next


        Console.ReadLine()
    End Sub


End Module

lunes, 7 de mayo de 2012

Utilizar menú y realizar acciones por opciones 3- Consola

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

Ejercicio 5 (Visual Basic.NET, aplicación de consola)

Introducción: Básicamente este ejercicio utiliza las mismas herramientas que el Ejercicio 2 (Procedimientos e If) aunque se agrega algo de complejidad a la letra del mismo.

Se utiliza un Proyecto de tipo "Aplicación de consola" de Visual Basic 2010 que se ejecuta precisamente en una consola de MS-DOS para interactuar con el usuario.


Letra:
Combinar las opciones, menús y acciones de los ejercicios 3 y 4





Descargar Archivos del Proyecto

Código de la Solución:
Module Module1
    Dim opcion, nota As Integer
    Dim nombre, apellido, yn, ci, status, nuevo As String
    Dim fecha As Date

    Sub Main()
        nota = 0
        nombre = "nulo"
        apellido = "nulo"

        Console.Clear()
        Console.WriteLine("Seleccione una opción:")
        Lineapunteada()
        Console.WriteLine("1- Ingresar Nombre")
        Console.WriteLine("2- Ingresar Apellido")
        Console.WriteLine("3- Ingresar datos del Examen")
        Console.WriteLine("4- Salir")
        Lineapunteada()
        opcion = Console.ReadLine

        If opcion = "1" Then
            PedirDatos(nombre)
        ElseIf opcion = "2" Then
            PedirDatos(apellido)
        ElseIf opcion = "3" Then
            ConDato()
        Else
            End
        End If
    End Sub

    'Procedimiento que solicita nombre o apellido dependiendo de la opción seleccionada en el menú
    'y pregunta si se desea ingresar el resto de los datos del examen
    'al responder S comienza a pedir el resto de los datos
    'al responder N muestra lo ingresado y finaliza

    Sub PedirDatos(ByVal name As String)
        If opcion = "1" Then
            Console.Write("Ingrese el nombre: ")
            name = Console.ReadLine
            nombre = name
        ElseIf opcion = "2" Then
            Console.Write("Ingrese el apellido: ")
            name = Console.ReadLine
            apellido = name
        End If

        Console.WriteLine("¿Desea ingresar el resto de los datos del exámen (S/N)?")
        yn = Console.ReadLine

        If yn = "S" Then
            ConDato()
        Else
            If opcion = "1" Then
                Console.WriteLine("El nombre ingresado es: " & nombre)
            ElseIf opcion = "2" Then
                Console.WriteLine("El apellido ingresado es: " & apellido)
            End If

            Console.ReadLine()
        End If
    End Sub

    'Procedimiento que incluye el dato ya ingresado (nombre o apellido) dependiendo de la opción   'seleccionada en el menú
    'y solicita el resto de los datos del examen

    Sub ConDato()
        Console.Clear()
        Lineapunteada()
        If opcion = "1" Then
            Console.WriteLine("Ingrese el nombre: " & nombre)
            Console.Write("Ingrese el Apellido: ")
            apellido = Console.ReadLine
        ElseIf opcion = "2" Then
            Console.WriteLine("Ingrese el apellido: " & apellido)
            Console.Write("Ingrese el Nombre: ")
            nombre = Console.ReadLine
        ElseIf opcion = "3" Then
            Console.Write("Ingrese el Nombre: ")
            nombre = Console.ReadLine
            Console.Write("Ingrese el Apellido: ")
            apellido = Console.ReadLine
        End If

        Console.Write("Ingrese CI (x.xxx.xxx-x): ")
        ci = Console.ReadLine
        Console.Write("Ingrese Fecha de Nacimiento (DD/MM/AAAA): ")
        fecha = Console.ReadLine

        PedirNota(nota)
    End Sub

    'Procedimiento que solicita el valor de la nota y llama al procedimiento Validarnota

    Sub PedirNota(ByVal valor As Integer)
        Console.Write("Ingrese la Nota del examen: ")
        valor = Console.ReadLine
        Validarnota(valor)
    End Sub

    'Procedimiento que valida si la nota ingresada es mayor que 100
    'Si no es mayor que 100, llama al procedimiento SetStatus

    Sub Validarnota(ByVal valor As Integer)
        If valor > 100 Then
            Console.WriteLine("La nota no puede ser mayor a 100")
            PedirNota(nota)
        Else
            nota = valor
            SetStatus(nota)
        End If
    End Sub

    'Procedimiento que determina el valor de Status según la nota ingresada

    Sub SetStatus(ByVal result As String)
        If nota >= 86 Then
            result = "EXONERA"
            status = result
            Mostrar()
        ElseIf nota < 70 Then
            result = "PERDIO EL EXAMEN"
            status = result
            Mostrar()
        Else
            result = "DEBE RENDIR OTRA PRUEBA"
            status = result
            Mostrar()
        End If
    End Sub

    'Procedimiento que muestra todos los datos ingresados y obtenidos
    'Consulta si se desean ingresar datos de otro alumno, volviendo al Procedimiento Main
    'para mostrar el menú inicial nuevamente en caso de responder que si (S)

    Sub Mostrar()
        Console.Clear()
        Lineapunteada()
        Console.WriteLine("Nombre: " & nombre)
        Console.WriteLine("Cédula: " & ci)
        Console.WriteLine("F.Nacimiento: " & fecha)
        Console.WriteLine("Nota: " & nota)
        Console.WriteLine("Resultado: " & status)
        Lineapunteada()
        Console.ReadLine()

        Console.WriteLine("¿Desea ingresar otro alumno? (S/N)")
        nuevo = Console.ReadLine
        If nuevo = "S" Then
            Main()
        Else
            End
        End If
    End Sub

    'Procedimiento que muestra línea punteada, sólo un detalle estético

    Sub Lineapunteada()
        Console.WriteLine(".....................................")
    End Sub

End Module

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

Utilizar menú y realizar acciones por opciones 2- Consola

For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN

Ejercicio 4 (Visual Basic.NET, aplicación de consola)

Introducción: Básicamente este ejercicio utiliza las mismas herramientas que el Ejercicio 2 (Procedimientos y función If) aunque se agrega algo de complejidad a la letra del mismo.

Se utiliza un Proyecto de tipo "Aplicación de consola" de Visual Basic 2010 que se ejecuta precisamente en una consola de MS-DOS para interactuar con el usuario.




Letra:
Un docente necesita ingresar las notas del examen de su materia:
- Nombre completo del alumno
- CI en el formato 9.999.999-9
- Fecha de nacimiento
- Nota del examen
- Status (de acuerdo a la nota del examen)
El examen tiene como nota máxima 100, no debiéndose poder ingresar notas más altas.
El status se define así:
- Si el alumno se sacó 86 o más EXONERA la materia
- Si el alumno se sacó entre 70 o 85 - DEBE RENDIR OTRA PRUEBA
- Si el alumno no sacó menos de 70 - PERDIÓ EL CURSO



Descargar Archivos del Proyecto

Código de la Solución:
Module Module1
     Dim Nombre, ci, status, nuevo As String
     Dim nac As Date
     Dim nota As Integer = 0


     Sub Main()
         Console.Clear()
         Lineapunteada()
         Console.Write("Nombre completo del alumno (o 9 para salir): ")
         Nombre = Console.ReadLine
         salir(Nombre)
         Console.Write("Ingrese CI (x.xxx.xxx-x): ")
         ci = Console.ReadLine
         Console.Write("Ingrese Fecha de Nacimiento (DD/MM/AAAA): ")
         nac = Console.ReadLine
         PedirNota(nota)
     End Sub


     'Procedimiento que solicita el valor de la nota y llama al procedimiento Validarnota
    Sub PedirNota(ByVal valor As Integer)
        Console.Write("Ingrese la Nota del examen: ")
        valor = Console.ReadLine
        Validarnota(valor)
    End Sub


    'Procedimiento que valida si la nota ingresada es mayor que 100
    'Si no es mayor que 100, llama al procedimiento SetStatus
    Sub Validarnota(ByVal valor As Integer)
        If valor &gt; 100 Then
            Console.WriteLine("La nota no puede ser mayor a 100")
            PedirNota(nota)
        Else
            nota = valor
            SetStatus(nota)
        End If
    End Sub


    'Procedimiento que determina el valor de Status según la nota ingresada
    Sub SetStatus(ByVal result As String)
        If nota &gt;= 86 Then
            result = "EXONERA"
            status = result
            Mostrar()
        ElseIf nota &lt; 70 Then
            result = "PERDIO EL EXAMEN"
            status = result
            Mostrar()
        Else
            result = "DEBE RENDIR OTRA PRUEBA"
            status = result
            Mostrar()
        End If
    End Sub


    'Procedimiento que muestra todos los datos ingresados y obtenidos
    'Consulta si se desean ingresar datos de otro alumno, volviendo al Procedimiento Main
    'para mostrar el menú inicial nuevamente en caso de responder que si (S)
    Sub Mostrar()
        Console.Clear()
        Lineapunteada()
        Console.WriteLine("Nombre: " &amp; Nombre)
        Console.WriteLine("Cédula: " &amp; ci)
        Console.WriteLine("F.Nacimiento: " &amp; nac)
        Console.WriteLine("Nota: " &amp; nota)
        Console.WriteLine("Resultado: " &amp; status)
        Console.ReadLine()
        Lineapunteada()


        Console.WriteLine("¿Desea ingresar otro alumno? (S/N)")
        nuevo = Console.ReadLine
        If nuevo = "S" Then
            Main()
        Else
            End
        End If
    End Sub


    'Procedimiento que muestra línea punteada, sólo un detalle estético
    Sub Lineapunteada()
        Console.WriteLine(".....................................")
    End Sub


    'Procedimiento que finaliza la ejecución de la aplicación si se ingresa el número 9
    Sub salir(ByVal salir As String)
        If salir = "9" Then
            End
        End If
    End Sub
End Module


For enghish support and procedure: riva.claudio@gmail.com - Visita Mi perfil de LINKEDIN