Table + coffetable + array C# Exercise - C# Programming Course

 Exercise

Table + coffetable + array

 Objetive

Create a project named "Tables2", based on the "Tables" project.

In it, create a class "CoffeeTable" that inherits from "Table". Its method "ShowData", besides writing the width and height, must display "(Coffee table)."

Create an array that contains 5 tables and 5 coffee tables. The tables must have random sizes between 50 and 200 cm, and the coffee tables from 40 to 120 cm. Show all their data.

 Example Code

// Import the System namespace for basic functionality
using System;

public class TableAndCoffeeTableDemo
{
    // Define the Table class
    public class Table
    {
        // Private attributes to store the width and height of the table
        private int width;
        private int height;

        // Constructor to initialize the width and height of the table
        public Table(int tableWidth, int tableHeight)
        {
            width = tableWidth;
            height = tableHeight;
        }

        // Getter method to retrieve the width of the table
        public int GetWidth()
        {
            return width;
        }

        // Setter method to set the width of the table
        public void SetWidth(int tableWidth)
        {
            width = tableWidth;
        }

        // Getter method to retrieve the height of the table
        public int GetHeight()
        {
            return height;
        }

        // Setter method to set the height of the table
        public void SetHeight(int tableHeight)
        {
            height = tableHeight;
        }

        // Method to show data about the table
        public void ShowData()
        {
            // Display the width and height of the table
            Console.WriteLine($"Table - Width: {width} cm, Height: {height} cm");
        }
    }

    // Define the CoffeeTable class, which inherits from Table
    public class CoffeeTable : Table
    {
        // Constructor for CoffeeTable that initializes width and height via the base constructor
        public CoffeeTable(int tableWidth, int tableHeight) : base(tableWidth, tableHeight) { }

        // Override the ShowData method to display additional information for CoffeeTable
        public new void ShowData()
        {
            // Display the width and height of the coffee table and specify it's a coffee table
            Console.WriteLine($"Coffee Table - Width: {GetWidth()} cm, Height: {GetHeight()} cm (Coffee table)");
        }
    }

    // Define the Main method to test the program
    public static void Main()
    {
        // Create an array that contains 5 tables and 5 coffee tables
        Table[] allTables = new Table[10];  // Array to hold both types of tables

        // Generate 5 random tables with sizes between 50 and 200 cm
        Random random = new Random();
        for (int i = 0; i < 5; i++)
        {
            int width = random.Next(50, 201);  // Random width between 50 and 200
            int height = random.Next(50, 201); // Random height between 50 and 200
            allTables[i] = new Table(width, height);
        }

        // Generate 5 random coffee tables with sizes between 40 and 120 cm
        for (int i = 5; i < 10; i++)
        {
            int width = random.Next(40, 121);  // Random width between 40 and 120
            int height = random.Next(40, 121); // Random height between 40 and 120
            allTables[i] = new CoffeeTable(width, height);
        }

        // Show data for all tables
        foreach (var table in allTables)
        {
            table.ShowData();
        }
    }
}

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...
 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...
 Text to HTML
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 ...
 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....

Juan A. Ripoll - Programming Tutorials and Courses © 2025 All rights reserved.  Legal Conditions.