Jag ska skriva ett program som ska kunna kontrollera ett person nummer och behöver hjälp. C#
Så detta är mitt problem.
static void Main(string[] args)
{
//Jag vill göra detta:
int a = 990220133;
//Till detta:
int[] persNr = { 9, 9, 0, 2, 2, 0, 1, 3, 3, 0};
//För att kunna utföra detta:
int[] result = new int[10];
int oneOrTwo = 0;
for(int i = 0; i < persNr.Length; i++)
{
oneOrTwo = EvenOrNot(oneOrTwo); //Bestämmer om nästa ska gångras med 1 eller 2.
int addTo = persNr[i] * oneOrTwo;
Console.WriteLine(addTo + " = " + persNr[i] + " * " + oneOrTwo);
result[i] = addTo;
oneOrTwo++;
}
result = Check(result);
TotalPersNumber(persNr, result);
}
Här har ni metoderna.
public static int EvenOrNot(int oneOrTwo)
{
int one = 1, two = 2;
if (oneOrTwo % 2 == 0)
{
return two;
}
else return one;
}
public static int[] Check(int[] persNr)
{
Boolean next = true;
int total = persNr[0], nrOf = 0;
while (next)
{
if (total > 10)
{
total = total - 10;
nrOf++;
}
else if(total < 10)
{
persNr[0] = nrOf;
persNr[9] = total;
next = false;
}
}
return persNr;
}
public static void TotalPersNumber(int[] original, int[] result)
{
Boolean next = true;
int addUp = 0, leftOver;
for (int i = 0; i < result.Length; i++)
{
addUp = addUp + result[i];
}
leftOver = addUp;
while (next)
{
if (leftOver > 10)
{
leftOver = leftOver - 10;
}
else if (leftOver < 10)
{
next = false;
}
}
original[9] = leftOver;
Print(original);
}
public static void Print(int[] toPrint)
{
for(int i = 0; i < toPrint.Length; i++)
{
Console.Write(toPrint[i]);
if(i == 5)
{
Console.Write("-");
}
}
}
Tackar i förväg om jag behöver klargöra något säg till.