Voka­le zählen

String Eingabe;

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}

  Serial.println("Bitte Text eingeben:");
}

void loop()
{
  // alle Zähler auf 0 setzen
  int ZaehlerA = 0;
  int ZaehlerE = 0;
  int ZaehlerO = 0;
  int ZaehlerU = 0;
  int ZaehlerI = 0;

  // String Eingabe leeren
  Eingabe = "";

  while (Serial.available() > 0)
  {
    // solange lesen, bis return \n eingegeben wurde
    String Eingabe = Serial.readStringUntil('\n');

    // das letzte Zeichen ist return
    Eingabe = Eingabe.substring(0, Eingabe.length() - 1);

    // Text sichern
    String OriginalEingabe = Eingabe;

    // in Kleinbuchstaben umwandeln
    // nur 1 Durchgang für die Zählung der Vokale erforderlich
    Eingabe.toLowerCase();

    for (int i = 0; i < Eingabe.length(); i ++)
    {
      // Vokale zählen
      if (Eingabe[i] == 'a') ZaehlerA ++;
      if (Eingabe[i] == 'e') ZaehlerE ++;
      if (Eingabe[i] == 'i') ZaehlerI ++;
      if (Eingabe[i] == 'o') ZaehlerO ++;
      if (Eingabe[i] == 'u') ZaehlerU ++;
    }

    // Text anzeigen
    Serial.println("Text:" + OriginalEingabe);

    // Ergebnis anzeigen
    Serial.println("Anzahl der Vokale:");
    Serial.println("-----------------------");
    Serial.println(String(ZaehlerA) + " mal das a");
    Serial.println(String(ZaehlerE) + " mal das e");
    Serial.println(String(ZaehlerI) + " mal das i");
    Serial.println(String(ZaehlerO) + " mal das o");
    Serial.println(String(ZaehlerU) + " mal das u");
    Serial.println("-----------------------");

    // Anzahl der Zeichen anzeigen
    Serial.println(String(Eingabe.length()) + " Zeichen!");
    Serial.println("-----------------------");

    // Text rückwärts anzeigen
    for (int i = OriginalEingabe.length(); i >= 0; i --)
    {
      Serial.print(OriginalEingabe[i]);
    }

    Serial.println();
    Serial.println("-----------------------");

    // alle Vokale durch i ersetzen     
    OriginalEingabe.replace("a", "i");     
    OriginalEingabe.replace("e", "i");   
    OriginalEingabe.replace("o", "i");     
    OriginalEingabe.replace("u", "i");    
    Serial.println(OriginalEingabe); 
    Serial.println("-----------------------");
  }
}

Letzte Aktualisierung: 25. Jul 2023 @ 21:14