/* Leest een karakter in; 
   als het een cijfer is, berekent het de bijbehorende getalswaarde;
   als het een kleine letter is, maakt het er een hoofdletter van;
   in alle andere gevallen gebeurt er niets met het karakter;
   het resultaat wordt weer afgedrukt
*/

#include <iostream>
using namespace std;

int main ()
{ char Kar;
  bool Cijfer, Letter;
  int Waarde;

  cout << "Geef een karakter : ";
  cin >> Kar;

  if ((Kar >= '0') && (Kar <= '9'))  // een cijfer
  { Waarde = Kar - 48;  // alternatief: Waarde = ((int) Kar) - 48;
    Cijfer = true;
  }
  else  // geen cijfer
  { if ( ((Kar >= 'A') && (Kar <= 'Z')) ||
         ((Kar >= 'a') && (Kar <= 'z')) )  // een letter
    { if (Kar >= 'a')
        Kar = Kar - 32;
      Letter = true;
    }
    else
      Letter = false;
    Cijfer = false;
  }

  if (Cijfer)  // alternatief: if (Cijfer==true)
    cout << "De getalswaarde van het ingevoerde karakter is " 
         << Waarde << endl;
  else
    if (Letter)
      cout << "De hoofdlettervariant van het ingevoerde karakter is `"
           << Kar << "'\n";
    else
      cout << "Het ingevoerde karakter `" << Kar << "' is geen cijfer "
              "en ook geen letter.\n";

  return 0;

}

