You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.5 KiB
C#
63 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Automat_IPv6
|
|
{
|
|
class Program
|
|
{
|
|
// Kürzen der nicht erforderlichen führenden Nullen
|
|
// ohne Auslassen von Null-Blöcken
|
|
// FE80:0000:0000:0000:3C20:09AF:B02C:FC09 wird
|
|
// FE80:0:0:0:3C20:9AF:B02C:FC09
|
|
// Option: einmal zusammenhänge Null-Blöcke auslassen
|
|
// FE80::3C20:9AF:B02C:FC09
|
|
|
|
// keine Syntaxprüfung
|
|
// Ende durch "." gekennzeichnet
|
|
|
|
enum zMenge : int
|
|
{
|
|
zX
|
|
};
|
|
|
|
static void Main(string[] args)
|
|
{
|
|
// Zustand
|
|
zMenge zustand = zMenge.zX;
|
|
// Zeichen aus Eingabe
|
|
char c;
|
|
|
|
do
|
|
{
|
|
c = Convert.ToChar(Console.Read());
|
|
zustand = bestimmeFolgezustand(zustand, c);
|
|
|
|
} while (zustand != zMenge.zX);
|
|
}
|
|
|
|
static zMenge bestimmeFolgezustand(zMenge zustand, char c)
|
|
{
|
|
zMenge folgeZustand = zustand;
|
|
|
|
switch (zustand)
|
|
{
|
|
case zMenge.zX:
|
|
if (c == '?')
|
|
{
|
|
folgeZustand = zMenge.zX;
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
break;
|
|
|
|
}
|
|
return folgeZustand;
|
|
}
|
|
}
|
|
}
|