Hey for my program I am using a switch statement to convert string numbers to int numbers. Its in a function called Set, i'm going to post the whole thing. Its not working it prints out random things and I can't find a pattern to tell whats wrong. I also have another function called Print that prints out the numbers stored in the array and that might be the problem area but I am unsure.
Code:Set(string num)
{
int i;
if (num[0] == '-')
{
positive = false;
num.erase(0,1);
numDigits = num.size();
digits = new int[numDigits];
for(i=0;i<numDigits;i++)
{
switch (num[i])
{
case '0':
digits[numDigits-i] = 0;
break;
case '1':
digits[numDigits-i] = 1;
break;
case '2':
digits[numDigits-i] = 2;
break;
case '3':
digits[numDigits-i] = 3;
break;
case '4':
digits[numDigits-i] = 4;
break;
case '5':
digits[numDigits-i] = 5;
break;
case '6':
digits[numDigits-i] = 6;
break;
case '7':
digits[numDigits-i] = 7;
break;
case '8':
digits[numDigits-i] = 8;
break;
case '9':
digits[numDigits-i] = 9;
break;
}
}
}
else
{
positive = true;
numDigits = num.size();
digits = new int[numDigits];
for(i=numDigits;i>=0;i--)
{
switch (num[i])
{
case '0':
digits[i] = 0;
break;
case '1':
digits[i] = 1;
break;
case '2':
digits[i] = 2;
break;
case '3':
digits[i] = 3;
break;
case '4':
digits[i] = 4;
break;
case '5':
digits[i] = 5;
break;
case '6':
digits[i] = 6;
break;
case '7':
digits[i] = 7;
break;
case '8':
digits[i] = 8;
break;
case '9':
digits[i] = 9;
break;
}
}
}
}

