Zurzeit funktioniert es wenn man den BCD-Code in folgendem Format eingiebt(z.B.: 100100010000) ich hätte aber gern das ich beim Einlesen auch Spaces verwenden darf(z.B.:1001 0001 0000)
Hier ist dann auch schon mein Problem ich hab viel versucht aber ich schaffs nicht die Leerzeichen dann wieder zu entfernen.
Bitte um Hilfe :P
Code:
using System;
class Program
{
static void Main()
{
int dec1 = 0;
String bcd;
int count1 = 0, count2 = 0;
bool comp = false;
Console.Write("Bitte geben Sie Ihren BCD-Code ein! : ");
bcd = Console.ReadLine();
Console.WriteLine();
if (bcd.Length % 4 == 0)
comp = true;
for (int a = 1; a <= bcd.Length; a++)
{
if (bcd[a - 1] == '0' || bcd[a - 1] == '1')
count1++;
}
while (count1 != bcd.Length || comp == false)
{
count1 = 0;
Console.WriteLine("Dies ist kein BCD-Code(Bsp.:000111111110).");
Console.Write("Bitte geben Sie Ihren BCD-Code ein! : ");
bcd = Console.ReadLine();
Console.WriteLine();
if (bcd.Length % 4 == 0)
comp = true;
for (int a = 1; a <= bcd.Length; a++)
{
if (bcd[a - 1] == '0' || bcd[a - 1] == '1')
count1++;
}
}
int[] dec2 = new int[bcd.Length / 4];
for (int b = 1; b <= bcd.Length; b = b + 4)
{
if (bcd[b - 1] == '1')
dec1 = dec1 + 8;
if (bcd[b] == '1')
dec1 = dec1 + 4;
if (bcd[b + 1] == '1')
dec1 = dec1 + 2;
if (bcd[b + 2] == '1')
dec1++;
dec2[count2] = dec1;
count2++;
dec1 = 0;
}
Console.Write("Ihre Dezimalzahl lautet: ");
foreach (int elem in dec2)
Console.Write(elem);
Console.WriteLine("\n\n");
}
}






