Función WriteTitle Curso de Programación C# Sharp

Lección:

Funciones


Ejercicio:

Función WriteTitle 17


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:

using System;
public class exercise120
{
    public static void WriteTitle(string text)
    {
        int numOfSpaces = (80 - text.Length * 2) / 2;
        text = text.ToUpper();

        // Upper line
        for (int i = 0; i < numOfSpaces; i++)
            Console.Write(" ");
        for (int i = 0; i < text.Length * 2 - 1; i++)
            Console.Write("-");
        Console.WriteLine();

        // Real title
        for (int i = 0; i < numOfSpaces; i++)
            Console.Write(" ");
        for (int i = 0; i < text.Length; i++)
            Console.Write(text[i] + " ");
        Console.WriteLine();

        // Lower line
        for (int i = 0; i < numOfSpaces; i++)
            Console.Write(" ");
        for (int i = 0; i < text.Length * 2 - 1; i++)
            Console.Write("-");
        Console.WriteLine();
    }

    public static void Main()
    {
        WriteTitle("Welcome!");

        Console.WriteLine("Enter a text: ");
        string text = Console.ReadLine();
        WriteTitle(text);
    }
}