Programming Course in C# ¡Free!

Struct

 Saturday, April 06, 2013 published by Exercises C#
Proposed exercise

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.

Output



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);
}
}