4.08 - struct

Objetive

Create a "struct" to store data of 2D points. The fields for each point will be:

x coordinate (short)
y coordinate (short)
r (red colour, byte)
g (green colour, byte)
b (blue colour, byte)

Write a program which creates two "points", asks the user for their data, and then displays their content.


Solution

using System;

public class PointAsStruct
{
    struct point
    {
        public short x;  
        public short y;  
        public byte r;   
        public byte g;   
        public byte b;
    }
    
    public static void Main()
    {
        point p1, p2;
        
        Console.Write("Enter X for first point: ");
        p1.x = Convert.ToInt16( Console.ReadLine() );
        
        Console.Write("Enter Y for first point: ");
        p1.y = Convert.ToInt16( Console.ReadLine() );
        
        Console.Write("Enter Red for first point: ");
        p1.r = Convert.ToByte( Console.ReadLine() );
        
        Console.Write("Enter Green for first point: ");
        p1.g = Convert.ToByte( Console.ReadLine() );
        
        Console.Write("Enter Blue for first point: ");
        p1.b = Convert.ToByte( Console.ReadLine() );
        
        Console.Write("Enter X for second point: ");
        p2.x = Convert.ToInt16( Console.ReadLine() );
        
        Console.Write("Enter Y for second point: ");
        p2.y = Convert.ToInt16( Console.ReadLine() );
        
        Console.Write("Enter Red for second point: ");
        p2.r = Convert.ToByte( Console.ReadLine() );
        
        Console.Write("Enter Green for second point: ");
        p2.g = Convert.ToByte( Console.ReadLine() );
        
        Console.Write("Enter Blue for second point: ");
        p2.b = Convert.ToByte( Console.ReadLine() );
        
        Console.WriteLine(
            "P1 is located in ({0},{1}), colour ({2},{3},{4})",
            p1.x, p1.y, p1.r, p1.g, p1.b);
            
        Console.WriteLine(
            "P2 is located in ({0},{1}), colour ({2},{3},{4})",
            p2.x, p2.y, p2.r, p2.g, p2.b);
    }
}

Popular Posts