/*
 * Lösung für Übung 9.6.3 - Wiederholungstäter
 *
 * - Sie können das einzelne Zeichen natürlich auch in ein
 *   char abspeichern, aber std::string ist einfacher zu benutzen.
 * - Sie können auch eine while(true)-Schleife verwenden, die im Falle
 *   einer korrekten Eingabe mit break; verlassen wird.
 */
#include <exception>
#include <iostream>
#include <string>

int main()
{
  std::string oneCharacter;
  bool inputMissing = true;
  while (inputMissing)
  {
    std::cout << "Geben Sie ein Zeichen ein: ";
    std::getline(std::cin, oneCharacter);
    inputMissing = (oneCharacter.size() != 1);
    if (inputMissing)
    {
      // Hier sollten Sie keinen Fehler mit throw schmeißen sondern schlicht
      // nach einer neuen Eingabe fragen.
      std::cerr << "Sie haben mehr als ein Zeichen eingegeben!" << std::endl;
    }
  }

  int number = 0;
  inputMissing = true;
  while (inputMissing)
  {
    std::cout << "Geben Sie die Anzahl von Wiederholungen ein: ";
    std::string input;
    std::getline(std::cin, input);
    try
    {
      number = std::stoi(input);
      inputMissing = false;
    }
    catch (std::exception& ex)
    {
      std::cerr << "Keine g\201ltige Zahl eingegeben!" << std::endl;
    }
  }
  for (int i = 0; i < number; i++)
  {
    std::cout << oneCharacter;
  }
  return 0;
}
