lunes, 7 de mayo de 2012

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 > 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: " & nac)
        Console.WriteLine("Nota: " & nota)
        Console.WriteLine("Resultado: " & 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

No hay comentarios:

Publicar un comentario