n进制转十进制

int to_10(string a, int n)
{
  int cnt = 0, len = a.size(), p = 1;
  for(int i = len - 1; i >= 0; i--)
  {
    if(a[i] >= '0' && a[i] <= '9')
      cnt += (a[i] - '0') * p;
    else
      cnt += (a[i] - 'a' + 10) * p;
    p *= n;
  }
  return cnt;
}

十进制转n进制

void to_x(int a, int b)
{
  if(a == 0) return;
  to_x(a / b, b);
  if(a % b >= 10)
    cout << char(a % b - 10 + 'a');
  else
    cout << char(a % b + '0');
}

switch

switch(op)
  {
    case '+':c = a1 + b1;break;
    case '-':c = a1 - b1;break;
    case '*':c = a1 * b1;break;
    case '/':c = a1 / b1;break;
  }