/* odh.c                           */
/* wandelt Zahldarstellungen um:   */
/* oktal, dezimal, hex             */
#include <stdio.h>
#include <stdlib.h>
int main() {
  int a, r; char c;
  while (1) {
    r=0;
    printf("Bitte Zahl eingeben mit vorangestelltem o,d oder h: ");
    r += scanf(" %c",&c);
    switch (c) {
    case 'o':
      r += scanf("%o",&a); break; /* liest naechsten eingeg. Wert oktal nach a ein */
    case 'h':
      r += scanf("%x",&a); break; /* liest naechsten Wert hexadezimal nach a ein */
    default:
      r += scanf("%d",&a); break; /* dezimal */
    }
    if (r != 2) {
      printf("Eingabefehler\n");
      exit(1);
    }
    printf("Oktal:   %o\n",a); /*druckt oktal       */
    printf("Dezimal: %d\n",a); /*druckt dezimal     */
    printf("Hex:     %x\n",a); /*druckt hexadezimal */
    if (a == 0)
      break;
  }
}
