[ create a new paste ] login | about

Link: http://codepad.org/k8fng7Hh    [ raw code | output | fork ]

C, pasted on Jul 23:
#include <stdio.h>
#define N 1024

int quin2dec(char *s, int n) {
  int m;
  if (!s || !*s)
    return n;
  m = 0;
  switch (*s) {
  case 'y':
    m++;
  case 'm':
    m++;
  case 'f':
    m++;
  case 'h':
    m++;
  case 'r':
    break;
  default:
    m = -1;
    break;
  }
  if (m < 0)
    return quin2dec(0, -1);
  return quin2dec(s + 1, 5 * n + m);
}

void chop(char *s) {
  char *p;
  for (p = s; *p; p++)
    ;
  p--;
  while (p >= s && (*p == '\n' || *p == '\r'))
    *(p--) = 0;
}

int main() {
  static char buff[N];
  int n;
  printf("> "); fgets(buff, N, stdin);
  chop(buff);
  n = quin2dec(buff, 0);
  if (n >= 0)
    printf("%d\n", n);
  else
    printf("error.\n");
  return 0;
}
/* end */


Output:
1
> 0


Create a new paste based on this one


Comments: