C# Exercise: 149 Text to HTML

In this exercise of C#, you need to create a class called TextToHTML, which should be able to convert several texts entered by the user into an HTML sequence. The goal is that, if the user enters the following:

Hello
It's me
I'm done

The class should convert it into the following HTML format:

Hello
It's me
I'm done

The class must contain:

- An array of strings to store the texts
- A method Add, to add a new text to the array
- A method Display, to show its content on the screen
- A method ToString, that returns a string containing all the texts, separated by "\n".

Additionally, you need to create an auxiliary class with a Main function to help you test the TextToHTML class functionality. This exercise is great for learning how to work with arrays of strings, class methods, and how to organize and display information in HTML format using C#. It’s an excellent practice for developing a better understanding of text manipulation and the use of methods in object-oriented programming.



 Exercise

Text to HTML

 Objetive

Create a class "TextToHTML", which must be able to convert several texts entered by the user into a HTML sequence, like this one:

Hola
Soy yo
Ya he terminado

should become

Hola

Soy yo

Ya he terminado

The class must contain:
An array of strings
A method "Add", to include a new string in it
A method "Display", to show its contents on screen
A method "ToString", to return a string containing all the texts, separated by "\n".
Create also an auxiliary class containing a "Main" function, to help you test it.

 Example Code

// Importing the System namespace to handle console functionalities and string manipulations
using System;
using System.Collections.Generic;

public class TextToHTML
{
    // An array to hold the strings entered by the user
    private List textList;

    // Constructor initializes the list to store strings
    public TextToHTML()
    {
        textList = new List();  // Using List instead of array for dynamic resizing
    }

    // Method to add a new string to the list
    public void Add(string newText)
    {
        textList.Add(newText);
    }

    // Method to display all the strings in the list, each on a new line
    public void Display()
    {
        // Loop through each string in the list and print it
        foreach (var text in textList)
        {
            Console.WriteLine(text);
        }
    }

    // Method to return the strings as a single string with newline separators
    public override string ToString()
    {
        // Join all strings with "\n" and return the result
        return string.Join("\n", textList);
    }
}

// Auxiliary class with the Main function to test the TextToHTML class
public class Program
{
    public static void Main()
    {
        // Create a new instance of TextToHTML
        TextToHTML textToHTML = new TextToHTML();

        // Adding some texts
        textToHTML.Add("Hola");
        textToHTML.Add("Soy yo");
        textToHTML.Add("Ya he terminado");

        // Displaying the contents of the TextToHTML object
        Console.WriteLine("Display Method Output:");
        textToHTML.Display();

        // Displaying the ToString output
        Console.WriteLine("\nToString Method Output:");
        Console.WriteLine(textToHTML.ToString());
    }
}


More C# Exercises of OOP More On Classes

 Array of objects: table
Create a class named "Table". It must have a constructor, indicating the width and height of the board. It will have a method "ShowData" which will wr...
 House
Create a class "House", with an attribute "area", a constructor that sets its value and a method "ShowData" to display "I am a house, my area is 200 m...
 Table + coffetable + array
Create a project named "Tables2", based on the "Tables" project. In it, create a class "CoffeeTable" that inherits from "Table". Its method "ShowDa...
 Encrypter & Decrypter
Create a class "Encrypter" to encrypt and decrypt text. It will have a "Encrypt" method, which will receive a string and return another string. It ...
 Complex numbers
A complex number has two parts: the real part and the imaginary part. In a number such as a+bi (2-3i, for example) the real part would be "a" (2) and ...
 Table + coffetable + leg
Extend the example of the tables and the coffee tables, to add a class "Leg" with a method "ShowData", which will write "I am a leg" and then it will ...
 Catalog
Create the classes diagram and then, using Visual Studio, a project and the corresponding classes for a catalog utility: It will be able to store i...
 Random number
Create a class RandomNumber, with three static methods: - GetFloat will return a number between 0 and 1 using the following algorithm: seed = (s...
 Class ScreenText
Create a class ScreenText, to display a certain text in specified screen coordinates. It must have a constructor which will receive X, Y and the strin...
 Enhanced ComplexNumber class
Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers....
 3D point
Create a class "Point3D", to represent a point in 3-D space, with coordinates X, Y and Z. It must contain the following methods: MoveTo, which will...
 Catalog + Menu
Improve the Catalog program, so that "Main" displays a menu to allow entering new data of any kind, as well as displaying all the data stored....