/* odh.c, wandelt Zahldarstellungen um: oktal, dezimal, hex  */
#include <stdio.h>
int main() {
  int a; char c;
  while (1) {
    printf("Bitte Zahl eingeben mit vorangestelltem o,d oder h: ");
    scanf(" %c",&c);         /* liest eingegebenen Wert als char nach c ein;
				wichtig: Das fuehrende Leerzeichen im
				Control-String schluckt vorangegangenes \n */
    switch (c) {
    case 'o':
      scanf("%o",&a); break; /* liest naechsten eingeg. Wert oktal nach a ein */
    case 'h':
      scanf("%x",&a); break; /* liest naechsten Wert hexadezimal nach a ein */
    case 'd':
      scanf("%d",&a); break; /* dezimal */
    default:
      printf("Unzulaessige Eingabe\n");
      continue;              /* geht zum naechsten Schleifendurchlauf */
    }
    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;
  }
}
