Función WriteTitle Curso de Programación Visual Basic

Lección:

Funciones


Ejercicio:

Función WriteTitle 7


Objetivo:

Crea una función llamada "WriteTitle" para escribir un texto centrado en pantalla, en mayúsculas, con espacios extra y con una línea sobre él y otra línea debajo:

WriteTitle("¡Bienvenido!");

escribiría en pantalla (centrada en 80 columnas):

--------------- W E L C O M E ! ---------------

(Obviamente, el número de guiones debe depender de la longitud del texto).


Código:

Imports System
Public Class exercise120
    Public Shared Sub WriteTitle(ByVal text As String)
        Dim numOfSpaces As Integer = (80 - text.Length * 2) / 2
        text = text.ToUpper()

        For i As Integer = 0 To numOfSpaces - 1
            Console.Write(" ")
        Next

        For i As Integer = 0 To text.Length * 2 - 1 - 1
            Console.Write("-")
        Next

        Console.WriteLine()

        For i As Integer = 0 To numOfSpaces - 1
            Console.Write(" ")
        Next

        For i As Integer = 0 To text.Length - 1
            Console.Write(text(i) & " ")
        Next

        Console.WriteLine()

        For i As Integer = 0 To numOfSpaces - 1
            Console.Write(" ")
        Next

        For i As Integer = 0 To text.Length * 2 - 1 - 1
            Console.Write("-")
        Next

        Console.WriteLine()
    End Sub

    Public Shared Sub Main()
        WriteTitle("Welcome!")
        Console.WriteLine("Enter a text: ")
        Dim text As String = Console.ReadLine()
        WriteTitle(text)
    End Sub
End Class