/********************************************/
/*calcgetch.c                               */
/*gets the characters. does ungetch if necc */
/********************************************/

#include 
#define BUFSIZE 100

char buf[BUFSIZE];           /*buffer for ungetch*/
int bufp = 0;                /*next free position in buf*/

int getch(void)              /*get a (possibly pushed back) character*/
{
  return (bufp > 0) ? buf[--bufp] : getchar();
}

void ungetch(int c)          /*push character back on input*/
{
  if (bufp >= BUFSIZE)
    printf("ungetch: too many characters\n");
  else
    buf[bufp++] = c;
}